查看:
查看当前任务计划,请使用如下命令:
[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
字段说明:
- 分钟( 0 – 59 )
- 小时( 0 – 24 )
- 日期( 1 – 31 )
- 月份( 1 – 12 ;或英文缩写 Jan 、Feb 等)
- 周几( 0 – 6 ,0 为周日;或英文缩写 Sun 、Mon 等)
- 用户名(执行命令时以此用户的身份)
- 要执行的命令(路径)
月份英文缩写:
- 一月 、JAN 、Jan 、January
- 二月 、FEB 、Feb 、February
- 三月 、MAR 、Mar 、March
- 四月 、APR 、Apr 、April
- 五月 、MAY 、May 、May
- 六月 、JUN 、Jun 、June
- 七月 、JUL 、Jul 、July
- 八月 、AUG 、Aug 、August
- 九月 、SEP 、Sept 、September
- 十月 、OCT 、Oct 、October
- 十一月 、NOV 、Nov 、November
- 十二月 、DEC 、Dec 、December
星期英文缩写:
- 星期一 、Mon 、Monday
- 星期二 、Tues 、Tuesday
- 星期三 、Wed 、Wednesday
- 星期四 、Thur 、Thursday
- 星期五 、Fri 、Friday
- 星期六 、Sat 、Saturday
- 星期天 、Sun 、Sunday
( 2 )每分钟或者每小时执行一次:
如果需要每分钟或者每小时执行一次,则需要这么写:
# 每分钟执行一次 */1 * * * * sh /root/xxx.sh # 每 3 分钟执行一次 */3 * * * * sh /root/xxx.sh # 每 30 分钟执行一次 */30 * * * * sh /root/xxx.sh # 每 2 小时执行一次 0 */2 * * * sh /root/xxx.sh # 每 2 小时执行 60 次 # 比如现在是 14 点整,到了 16 点,从 16 点 00 分到 16 点 59 分每分钟都执行一次; # 到了 18 点,从 18 点 00 分到 18 点 59 分每分钟都执行一次 ...... * */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 秒钟执行一次。
发表评论?