开启crontab日志
修改rsyslog服务,将 /etc/rsyslog.d/50-default.conf 文件中的 #cron.* 前的 # 删掉
service rsyslog restart
重启crontab
service cron restart
查看状态
service cron status
写定时任务
crontab -e
基本格式
m h dom mon dow command
说明:
m 分钟 0-59
h 小时 0-23
dow 天1-31
mon 月 1-12
dow 星期 1-6 0表示星期天
command 就是要执行的命令
还可以配合星号(*),逗号(,),和斜线(/)来表示一些其他的含义:
星号 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
逗号 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
斜线 一般配合 * 使用,代表每隔多长时间,比如在分钟部分填写 */2 代表每隔两分钟。所以 */1 和 * 没有区别
*/2 可以看成是能被2整除的任意值。
30 21 * * * /usr/local/etc/rc.d/lighttpd restart #表示每晚的21:30重启lighttpd 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart #表示每月1、10、22日的4 : 45重启lighttpd 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart #表示每周六、周日的1 : 10重启lighttpd 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart #表示在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart #表示每星期六的11 : 00 pm重启lighttpd * */1 * * * /usr/local/etc/rc.d/lighttpd restart #表示每一小时重启lighttpd * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart #表示晚上11点到早上7点之间,每隔一小时重启lighttpd 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart #表示每月的4号与每周一到周三的11点重启lighttpd 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart #一月一号的4点重启lighttpd
列出某个用户cron服务的详细内容
crontab -l
/etc/crontab
在这个文件里并没有记录系统要执行哪些工作,而是记录了下面四个子目录
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
这些存放了一些脚本,到了crontab所指定的时间点,系统就会去执行这些子目录里的脚本