简介:
crontab是Linux系统中用来设置定期执行任务的指令,通常用来完成批处理作业。
1、crontab基本操作
基本用法:
* * * * * username command
命令的解释入下图所示:
在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,3,5,7,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“3-8”表示“3,4,5,6,7,8”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在分钟字段,表示每十分钟执行一次。
常见的用法如下:
每隔10分钟执行 */10 * * * *
每隔3小时执行(每隔三小时整点) 0 */3 * * *
每隔1天执行(每天的0点0分) 0 0 * * *
每隔一周执行(每周日的0点0分) 0 0 * * 0
每隔一个月执行(每个月1号0点0分) 0 0 1 * *
每隔一年执行(每年1月1日0点0分) 0 0 1 1 *
crontab -l : // 列出某个用户cron服务的详细内容
crontab -e : // 编辑某个用户的cron服务
crontab -u : // 设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -r : // 删除没个用户的cron服务
例如:查看root用户的cron设置:crontab -u root -l
2、在shell脚本中向crontab中添加定时执行任务
crontab -l > conf && echo "* * * * * hostname >> /test/cron_test.log" >> conf && crontab conf && rm -f conf
由于crontab file会覆盖原有定时任务
所以使用 crontab -l 先导出原有任务到临时文件 “conf”
再追加新定时任务
最后在删除conf临时文件