Linux crontab 计划任务使用说明

发布于:2023-03-27 ⋅ 阅读:(185) ⋅ 点赞:(0)

命令使用

[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分钟运行。