先讲讲crontab使用方法:
crontab每项(行)工作的格式:
意义 | 分钟 | 小时 | 日 | 月 | 星期 | 命令 |
范围 | 0-59 | 0-23 | 1-31 | 1-12 | 0-6 | 执行的命令 |
在使用时,会用到几种辅助字符,先说明如下:
特殊字符 | 意义 |
* | 代表任意匹配,例如“ |
, | 代表分割时段,比如每10分钟执行一次命令?可以使用 0,10,20,30,40,50* * * * command 参数栏数不变,但是第一栏是0,10,20,30,40,50,以逗号(,)分割。 |
- | 代表一段时间范围内,比如工作日(周一至周五)凌晨1点执行某一个命令? *1 * * 1-5 command 第五栏为1-5,代表1,2,3,4,5都适用的意思。 |
/n | n代表数字,为每隔n单位间隔。例如上文逗号(,)中举例,每10分钟执行一次命令,可以这样写: */10* * * * command 第一栏为*/10,不要忘了*不能省略。 |
操作:
crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。
退出:ctrl+o-->enter-->ctrl+x
例子:
● 0 */2 * * * /sbin/service httpd restart
每两个小时重启一次apache
● 50 7 * * * /sbin/service sshd start
每天7:50开启ssh服务
● 50 22 * * * /sbin/service sshd stop
每天22:50关闭ssh服务
● 0 0 1,15 * * fsck /home
每月1号和15号检查/home 磁盘
● 1 * * * * /home/bruce/backup
每分钟都执行 /home/bruce/backup这个文件
● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;
每周一至周五凌晨3点,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
● 30 6 */10 * * ls
每月的1、11、21、31日是的6:30执行一次ls命令