crontab是UNIX系统下的定时任务触发器。用它可以设定一些计划任务在特定的时间执行,比如我对服务器的路由在线做了修改,怕修改做了一会进不去,就可以设定定时器,让服务器在15分钟后自动reboot,这样要是出现了问题,reboot后又恢复原来的值了,就又可以登陆了!
一共是五个时间段,其含义如下:
minute字段代表分钟
0—59
hour字段代表小时
0—23
mday字段代表日期
1—31
month字段代表月份
1—12
wday字段代表星期几,0代表星期日
0—6
注:以上数字可以写05,也可以写5,前面有0无0都可以
下面看看看几个具体的例子:
0 */1 * * * root /sbin/service httpd restart 意思是每一个小时重启一次httpd 40 06 * * * root /sbin/service sshd start 意思是每天的6点40分开启sshd服务 40 23 * * * root /sbin/service sshd stop 意思是每天的23点40关闭sshd服务 0 0 1,25 * * /usr/bin/find fsck /usr 每月1号和25号检查/usr分区 5 * * * * root /usr/sbin/backup 每小时的第五分钟执行/usr/sbin/backup这个程序 00 02 * * 1-6 root find /user "*.mp3" -mtime +5 -exec rm {} ; 每周一至周六2点钟,在目录/user中,查找文件名为*.mp3的文件,并删除5天前的文件。 30 5 */10 * * root /usr/sbin/backup 意思是每月的1、11、21、31日是的5点30分执行一次/usr/sbin/backup这个程序。
下面是我的crontab:
[root@www.itkylin.com /]# more /etc/crontab SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/var/log # #minute hour mday month wday who command ... ... #*/5 * * * * root /sbin/pfctl -f /etc/pf.conf 20 11 * * * root /sbin/reboot