CentOS Linux 上的 crontab(任务计划)配置详解

查看:

查看当前任务计划,请使用如下命令:

[root@host ~]# crontab -l

或者

[root@host ~]# cat /var/spool/cron/root

添加或者修改:

添加或者修改任务计划,请使用如下命令:

编辑:

[root@host ~]# crontab -e

或者使用如下命令来添加一个任务计划:

[root@host ~]# echo "*/3 * * * * sh /root/xxx.sh" >> /var/spool/cron/root

或者使用如下命令删除某个任务计划:

[root@host ~]# sed -i "/xxx.sh/d" /var/spool/cron/root

( 1 )格式:

crontab 的格式如下:

* * * * * user task

分 时 日 月 周 user task

字段说明:

  1. 分钟( 0 – 59 )
  2. 小时( 2 – 24 )
  3. 日期( 1 – 31 )
  4. 月份( 1 – 12 ;或英文缩写 Jan 、Feb 等)
  5. 周几( 0 – 6 ,0 为周日;或英文缩写 Sun 、Mon 等)
  6. 用户名(执行命令时以此用户的身份)
  7. 要执行的命令(路径)

月份英文缩写:

  1. 一月 、JAN 、Jan 、January
  2. 二月 、FEB 、Feb 、February
  3. 三月 、MAR 、Mar 、March
  4. 四月 、APR 、Apr 、April
  5. 五月 、MAY 、May 、May
  6. 六月 、JUN 、Jun 、June
  7. 七月 、JUL 、Jul 、July
  8. 八月 、AUG 、Aug 、August
  9. 九月 、SEP 、Sept 、September
  10. 十月 、OCT 、Oct 、October
  11. 十一月 、NOV 、Nov 、November
  12. 十二月 、DEC 、Dec 、December

星期英文缩写:

  1. 星期一 、Mon 、Monday
  2. 星期二 、Tues 、Tuesday
  3. 星期三 、Wed 、Wednesday
  4. 星期四 、Thur 、Thursday
  5. 星期五 、Fri 、Friday
  6. 星期六 、Sat 、Saturday
  7. 星期天 、Sun 、Sunday

( 2 )每分钟或者每小时执行一次:

如果需要每分钟或者每小时执行一次,则需要这么写:

# 每分钟执行一次
*/1 * * * * sh /root/xxx.sh

# 每 3 分钟执行一次
*/3 * * * * sh /root/xxx.sh

# 每 30 分钟执行一次
*/30 * * * * sh /root/xxx.sh

# 每 2 小时执行一次
* */2 * * * sh /root/xxx.sh

( 3 )每 30 秒钟执行一次:

如果需要每 30 秒钟执行一次,则需要这么写:

* * * * * sleep 5; sh /root/xxx.sh
* * * * * sleep 35; sh /root/xxx.sh

因为 crontab 的最小时间单位是分钟,所以采用 sleep 的方式来实现秒级的运行。即同时创建两个自动任务:

  • 第一个任务每分钟执行一次,是先休眠 5 秒钟后再执行 xxx.sh ;
  • 另一个任务也是每分钟执行一次,是先休眠 35 秒钟后再执行 xxx.sh 。

这样就相当于只有一个任务,且每 30 秒钟执行一次。

打赏作者
这里是 “ CCIE 工程师社区 ” 官方的捐款通道,您是否可以考虑请我们喝杯咖啡呢?

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

Was this article helpful?

Related Articles

Leave A Comment?

This site uses Akismet to reduce spam. Learn how your comment data is processed.