一、常用命令

在这里插入图片描述
1、查看crontab任务列表

crontab -l

2、编辑crontab定时执行任务

crontab -e

3、删除crontab定时任务

crontab -r

4、相关命令:

systemctl start crond.service #启动服务

systemctl stop crond.service #关闭服务

systemctl status crond.service #查看服务状态

systemctl restart crond.service #重启服务

二、定时语法

crontab 一种时间表达式:

基本格式 :

*  *  *  *  *  command

分 时 日 月 周 命令

先来看一个例子。每天凌晨1:00执行备份程序:0 1 * * * /root/backup.sh 。其中/root/backup.sh 这是脚本路径,要使用绝对路径,前面的日期格式请直接看下图就知道了
在这里插入图片描述
crontab还有操作符,用来实现一些复杂的时间设定需要。操作符有:

1、* 取值范围内的所有数字 ,代表所有。

2、/ 每过多少个数字 ,代表每隔n长时间。

3、- 从X到Z ,代表一段时间范围。

4、,散列数字,代表分割开多个值。

如果还有搞不懂代码公式的,可以使用这个在线Cron表达式生成器:http://cron.qqe2.com/

三、20个经典示例

在使用时记得替换为自己的脚本路径。请在相应的脚本第一行加上#!/bin/bash,否则脚本在定时任务中无法执行。

实例1:每1分钟执行一次

* * * * * /root/backup.sh

实例2:每小时的第3分钟和第15分钟执行一次

3,15 * * * * /root/backup.sh

实例3:每天的8点到11点的第3和第15分钟执行一次

3,15 8-11 * * * /root/backup.sh

实例4:每隔两天的上午8点到11点的第3和第15分钟执行一次

3,15 8-11 */2 * * /root/backup.sh

实例5:每周一上午8点到11点的第3和第15分钟执行一次

3,15 8-11 * * 1 /root/backup.sh

实例6:每晚的21:30执行一次

30 21 * * * /root/backup.sh

实例7:每月1、10、22日的4 : 45执行一次

45 4 1,10,22 * * /root/backup.sh

实例8:每周六、周日的1 : 10执行一次

10 1 * * 6,0 /root/backup.sh

实例9:每天18 : 00至23 : 00之间每隔30分钟执行一次

0,30 18-23 * * * /root/backup.sh

实例10:每星期六的晚上23: 00 pm执行一次

0 23 * * 6 /root/backup.sh

实例11:每一小时执行一次

* */1 * * * /root/backup.sh

实例12:每天晚上23点到第二天早上7点之间,每隔一小时执行一次

* 23-7/1 * * * /root/backup.sh

实例13: 每个星期的第一天执行一次(即每个星期天晚上24:00开始执行).

@weekly /root/backup.sh

实例14:每个月的15日执行一次.

0 11 15 * * /root/backup.sh

实例15:每个月的第一天执行一次(即每个月的1日凌晨0点开始执行).

@monthly /root/backup.sh

实例16: 在指定的月份执行一次(在1月,4月和 6月每天晚上0点执行一次).

0 0 * jan,apr,jun * /root/backup.sh

实例17: 重启后执行一次.

@reboot /root/backup.sh

实例18:定时任务执行后发一封邮件通知.

MAILTO="raj"

1 1 * * * /root/backup.sh

实例19:指定shell (默认的是/bin/bash)

SHELL=/bin/sh

1 1 * * * /root/backup.sh

实例20:指定环境变量.

PATH=/sbin:/bin:/usr/sbin:/usr/bin

1 1 * * * /root/backup.sh
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐