命令使用
[root@www ~]# crontab [-u username] [-l|-e|-r]
选项与参数:
-u :只有 root 才能进行这个操作,亦即帮其他使用者创建/移除 crontab 工作排程;
-e :编辑 crontab 的工作内容;
-l :查阅 crontab 的工作内容;
-r :移除所有的 crontab 的工作内容;
crontab语法格式
- Minutes Hours DayofMonth Month DayofWeek
语法说明:
字段 | 允许值 | 允许的特殊字符 |
---|---|---|
分(Minutes) | 0~59的整数 | , - * / 四个字符 |
小时(Hours) | 0~23的整数 | , - * / 四个字符 |
日期(DayofMonth) | 1~31的整数 | ,- * ? / L W C 八个字符 |
月份(Month) | 1~12的整数 | , - * / 四个字符 |
星期(DayofWeek) | 0~7的整数(0&7=SUN) | , - * ? / L C # 八个字符 |
特殊字符说明:
*:表示匹配该域的任意值。假如在Minutes域使用*, 即表示每分钟都会触发事件。
,:表示枚举值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。
-:表示范围。例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次。
/n:表示从起始时间后每隔n个单位时间触发一次。例如在Minutes域使用5/20,则表示5分钟触发一次,而25、45等分别触发一次。
可以分别以周或者是日月为单位作为循环,但不可使用「几月几号且为星期几」的命令模式;如果周和日月同时设置,则两个单位之间是或关系。
crontab的使用限制:
- /etc/cron.allow:将可以使用 crontab 的帐号写入其中,若不在这个文件内的使用者则不可使用 crontab;
- /etc/cron.deny:将不可以使用 crontab 的帐号写入其中,若未记录到这个文件当中的使用者,就可以使用 crontab 。
这两个文件只要保留一个即可, 一般来说,系统默认是保留 /etc/cron.deny。
使用示例:
* * * * * /home/bin/script.sh: 每分钟运行。
0 * * * * /home/bin/script.sh: 每小时零分运行。
3,15 * * * * /home/bin/script.sh: 每小时3分和15分运行。
0 0 * * * /home/bin/script.sh: 每天零点运行。
0 0 */2 * * /home/bin/script.sh: 每隔两天零点运行。
0 9,18 * * * /home/bin/script.sh: 在每天的9点和18点运行。
0 9-18 * * * /home/bin/script.sh: 在9点到18点的每个小时运行。
0 9-18 * * 1-5 /home/bin/script.sh: 周一到周五的9点到18点每小时运行。
*/10 * * * * /home/bin/script.sh: 每10分钟运行。