计划任务
一、一次性调度执行at
at [-V] [-q 队列] [-f 文件] [-mldbv] 时间 at -c 作业 [作业…]
-f:指定包含具体指令的任务文件
-q:指定新任务的队列名称
-l:显示待执行任务的列表
-d:删除指定的待执行任务
-m:任务执行完成后向用户发送E-mail
Example:
[root@localhost ~]# at 5pm+3 days
at> /bin/ls
at> <EOT>
job 7 at 2013-01-08 17:00 #三天后下午5点执行ls命令
[root@localhost ~]# at 17:20 tomorrow
at> date >/root/2013.log
at> <EOT>
job 8 at 2013-01-06 17:20 #/明天17点钟,输出事件到指定文件
二、循环调度执行cron
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
| | | | |
* * * * * command
minute: 表示分钟,可以是从0到59之间的任何整数。
hour: 表示小时,可以是从0到23之间的任何整数。
day: 表示日期,可以是从1到31之间的任何整数。
month: 表示月份,可以是从1到12之间的任何整数。
week: 表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,还可以使用以下特殊字符:
星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
Example:
* * * * command #每1分钟执行command
3,15 * * * * command #每个小时的第3和第15分钟执行
3,15 8-11 * * * command #在上午8点到11点的第3和第15分钟执行
00 02 * * * ls #每天2:00整
00 02 1 * * ls #每月1号2:00整
00 02 14 2 * ls #每年2月14号2:00整
00 02 * * 7 ls #每周日2:00整
00 02 * 6 5 ls #每年6月的周五2:00整
00 02 14 * 7 ls #每月14号2:00整 或者 每周日2:00整,这两个时间都执行
00 02 14 2 7 ls #每年2月14号2:00整 或者 每周日2:00整,这两个时间都执行