计划任务分为临时性和周期性。

一、临时性计划任务

一般使用at命令,常用方法:

1、at 时间,例如二天后执行复制/etc/passwd文件到/root目录下:

[root@localhost ~]# at now +2days
at> cp /etc/passwd /root/
at>
job 8 at Mon Dec 21 15:10:00 2015
[root@localhost ~]# at -l
8    Mon Dec 21 15:10:00 2015 a root

也可以使用具体时间来执行计划任务:

[root@localhost ~]# at 15:12 2015-12-21
at> cp /etc/passwd /root/
at>
job 12 at Mon Dec 21 15:12:00 2015

2、查看at计划任务:at -l 或 ls -a /var/spool/at/*(at命令会在/var/spool/at目录下生成脚本)
[root@localhost ~]# at -l
8    Mon Dec 21 15:10:00 2015 a root
9    Mon Dec 21 15:11:00 2015 a root
12    Mon Dec 21 15:12:00 2015 a root

[root@localhost ~]# ls -la /var/spool/at/*
-rwx------. 1 root   root   3133 12月 19 15:11 /var/spool/at/a000080170ed6e
-rwx------. 1 root   root   3111 12月 19 15:15 /var/spool/at/a000090170ed6f
-rwx------. 1 root   root   3133 12月 19 15:16 /var/spool/at/a0000c0170ed70

可以通过vim或cat查看/var/spool/at目录下的计划任务脚本。

3、计划任务取消:atrm

例如取消刚才下达的2个计划任务(先用at -l 查看刚才下达的任务ID)

[root@localhost ~]# at -l
8    Mon Dec 21 15:10:00 2015 a root
9    Mon Dec 21 15:11:00 2015 a root
12    Mon Dec 21 15:12:00 2015 a root

[root@localhost ~]# atrm 8 12
[root@localhost ~]# at -l
9    Mon Dec 21 15:11:00 2015 a root

二、周期性计划任务

1、计划任务配置文件:/etc/crontab

[root@localhost ~]# vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

配置文件中5个星号按顺序表示分时日月周(*号之间有空格)

每个取值范围:

    分:0-59

    小时:0-23

    日:1-31

    月:1-12

    周:0-7  ( 0 、7 都是周日)

例:

    1)9,18,22这几天的3点,开始执行备份脚本   /root/backup.sh

        0   3  9,18,22  *   *   /root/backup.sh

 

    2)每月9-18日,这几天,3:00执行

        0   3   9-18  *  *    /root/backup.sh

 

    3)每5分钟,执行一次

        */5   *  *    *   * /root/backup.sh

2、crontab  命令常用参数语法

    1)、下达计划任务:crontab -e

    2)、查看计划任务:crontab -l

    3)、删除计划任务:crontab -r

    4)、给用户指定任务(下达、查看、删除):crontab -u username [-e|-l|-r]

注:使用crontab命令下达的计划任务在/var/spool/cron目录下生成脚本,并不会写入到/etc/crontab脚本中