特殊字符 作用
* 表示任何每一个,Ex:* * * * *表示的就是每一min
- 表示一个范围,Ex:5-10 * * * * *表示第5到10分每min
, 分割多个,Ex:5,6,7,10 * * *表示第5,6,7,10分四个时间点
/n 表示每隔n个时间 Ex:*/4 * * * * 表示每隔4min
Ex:
* 23,00-07/1 * * * /usr/local/bin/apache/bin/apachectl graceful
这里很容易理解成为23-第二天7天每隔一小时重启一次apache服务。
由于秒的位置是*,实际结果是23-第二天7点每分钟重启一次apache服务。
正确的应该给分钟赋固定值
01 23,00-07/1 * * * /usr/local/bin/apache/bin/apachectl graceful
星期最好和日期不要同时用
1、日月为* *时候,只是星期生效,这时候取得时交集
2、日月有值的时候,日期和星期同时生效,取并集
01 05 28 * 6,7 /bin/bash /cron_scripts/backup_etc.sh >/dev/null 2>&1
备份脚本会在周六周日或者每月28号,凌晨5点1分执行
5、crontab标准化工作流程
1、计划任务脚本指定存放位置,便于维护和定期备份
2、写定时任务前必须在前面写注释,包括以下:
添加计划任务的人,添加任务的时间,任务有效期,计划任务脚本的对象,脚本的作用,以及其他需要提醒其他注意的事项
3、执行的脚本前加上/bin/bash或者/bin/sh,脚本必须使用完整的绝对路径
4、定时任务,需要尽量避免标准输出和标准错误输出 结尾加上 >/dev/null 2>&1
计划任务的标准输出和标准错误输出都会给root用户以邮件,很容易撑满磁盘消耗磁盘inode
5、能用命令完成的也要写在脚本里
6、在指定用户下执行相关的定时任务
7、制定标准的书写规范
其他使用注意:
环境变量问题:计划文物的脚本得环境变量需要在脚本重新定义,可以手动在脚本内加载环境变量的配置文件如