一、介绍
crontab命令的功能是在一定的时间间隔调度一些命令的执行。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
二、参数
-u :指定一个用户
-l :列出某个用户的任务计划
-r :删除某个用户的任务
-e :编辑某个用户的任务
三、cron文件
1、编辑命令
1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出
2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务
2、文件格式
Minute Hour Day Month DayofWeek CommandPath
3、参数说明
Minute:每个小时的第几分钟执行该任务;取值范围0-59
Hour:每天的第几个小时执行该任务;取值范围0-23
Day:每月的第几天执行该任务;取值范围1-31
Month:每年的第几个月执行该任务;取值范围1-12
DayOfWeek:每周的第几天执行该任务;取值范围0-6,0表示周末
CommandPath:指定要执行的程序路径
4、时间格式
* :表示任意的时刻;如小时位 * 则表示每个小时
n :表示特定的时刻;如小时位 5 就表示5时
n,m :表示特定的几个时刻;如小时位 1,10 就表示1时和10时
n-m :表示一个时间段;如小时位 1-5 就表示1到5点
*/n : 表示每隔多少个时间单位执行一次;如小时位 */1 就表示每隔1个小时执行一次命令,也可以写成 1-23/1
5、调度示例
* 1 * * * /opt/script/backup.sh :从1:0到1:59 每隔1分钟 执行
15 05 * * * /opt/script/backup.sh :05:15 执行
*/10 * * * * /opt/script/backup.sh :每隔10分 执行
0 17 * * 1 /opt/script/backup.sh :每周一的 17:00 执行
2 8-20/3 * * * /opt/script/backup.sh :8:02,11:02,14:02,17:02,20:02 执行
6、后台执行
1)、说明
当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行
需要与用户交互的作业当注意不要放在后台执行
在后台运行的作业一样会将结果输出到屏幕上,如果放在后台运行的作业会产生大量的输出,最好将它的输出重定向到某个文件中
2)、标识
0 :表示键盘输入
1 :表示标准输出
2 :表示错误输出
& :后台执行
> : 覆盖文件内容
>>:追加文件内容
&1 :表示的是文件描述1,表示标准输出;如果这里少了&就成了数字1,就表示重定向到文件1
2>&1 :将错误输出重定向到标准输出
1>/dev/null :将标准输出重定向到文件/dev/null;1>/dev/null等同于>/dev/null
3)、示例
0 2 * * * /u01/test.sh 1>/dev/null 2>&1 &
这句话的意思就是在后台执行这条命令,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null 文件,也就是清空。
4)、位置
2>&1 需要写在command 1>file 后面。
在command 1>file 2>&1,首先是 command 1>file 将标准输出重定向到file中,2>&1 是标准错误拷贝了标准输出,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。
如果改成:command 2>&1 >file 2>&1,标准错误拷贝了标准输出的行为,但此时标准输出还是在终端。>file 后输出才被重定向到file,但标准错误仍然保持在终端。
阅读(1404) | 评论(0) | 转发(0) |