愚蠢的地球人

Linux计划任务工具Crontab使用详解

Ubuntu自带Crontab,默认没有开启cron日志记录

1.开启Crontab日志

vi /etc/rsyslog.d/50-default.conf

把#cron.*前面的#号去掉

重启rsyslog服务

service rsyslog restart

然后再重启crontab服务

service cron restart

2.开启定时任务:crontab –e

周期有5个域,分别是分钟,小时,日(day of month),月(month of year),周几(day of week)
每个域不加限制任意的话用*,格式为:

*  *  *  *  *  command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

间隔执行时间设定
* * * * *  每分钟执行
*/5 * * * *  每五分钟执行 (/表示频率)  
0 * * * *  每小时执行
* */2 * * * 每2小时执行
0 0 * * *  每天执行
0 0 * * 0  每周执行
0 0 1 * *  每月执行
0 0 1 1 *  每年执行
30 8 * * * 每天8:30分执行
30,50 * * * * 每小时的30和50分各执行一次(,表示并列)
30 8 3-6 * * 每个月的3号到6号的8:30执行一次 (-表示范围)
30 8 * * 1 每个星期一的8:30执行一次 (周的范围为0-7,0和7代表周日)

例:
每晚的21:30重启apache
30 21 * * * /usr/local/etc/rc.d/lighttpd restart

每2分钟运行Python脚本
*/2 * * * * /usr/bin/python3.5 /root/1.py &>> /root/auto.log

常用的几个命令格式
crontab -l #显示用户的crontab文件的内容
crontab -e #编辑用户的crontab文件的内容
crontab -r #删除用户的crontab文件

3.查看crontab日志
less /var/log/cron.log