在 linux centos7上使用crontab定时任务,自动定时执行脚本

在 centos7上使用crontab定时任务,自动定时执行脚本

添加/编辑 Crontab

crontab -e
crontab [-u username] -e
默认情况下,系统会编辑当前用户的crontab命令集合

查看Crontab

crontab -l
crontab [-u username] -l

删除Crontab

crontab -r
crontab [-u username] -r
慎用。可以直接crontab -e 进行编辑

载入

crontab [-u user] file
将file做为crontab的任务列表文件并载入crontab
如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。

配置路径

/var/spool/cron/root (以用户命名的文件) 是所有默认存放定时任务的文件
/etc/cron.deny 该文件中所列出用户不允许使用crontab命令
/etc/cron.allow 该文件中所列出用户允许使用crontab命令,且优先级高于/etc/cron.deny/var/log/cron 该文件存放cron服务的日志

示例

每五分钟执行  */5 * * * *
每105分钟执行一次 */105 * * * *
每小时执行     0 * * * *
每天执行        0 0 * * *
每周执行       0 0 * * 0
每月执行        0 0 1 * *
每年执行       0 0 1 1 *

1.每天 02:00 执行任务
0 2 * * * /bin/sh backup.sh

2.每天 5:00和17:00执行任务
0 5,17 * * * sh /a.sh

3.每分钟执行一次任务
* * * * * sh /a.sh

4.每周日 17:00 执行任务
0 17 * * sun sh /a.sh

5.每 10min 执行一次任务
*/10 * * * * sh /a.sh

6.在特定的某几个月执行任务
* * * jan,may,aug * /script/script.sh

7.在特定的某几天执行任务
0 17 * * sun,fri /script/scripy.sh
在每周五、周日的17点执行任务

8.在某个月的第一个周日执行任务
0 2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh

9.每四个小时执行一个任务
0 */4 * * * sh /a.sh

10.每周一、周日执行任务
0 4,17 * * sun,mon sh /a.sh

11.每30秒执行一次任务
* * * * * sh /a.sh
* * * * * sleep 30; sh /a.sh

12.多个任务在一条命令中配置
* * * * * sh /a.sh sh /b.sh

13.每年执行一次任务
@yearly sh /a.sh
@yearly 类似于“0 0 1 1 *”。它会在每年的第一分钟内执行,通常我们可以用这个发送新年的问候。
14.系统重启时执行
@reboot sh /a.sh

15.将 Cron 结果重定向的特定的账户
默认情况下,cron 只会将结果详情发送给 cron 被制定的用户。如果需要发送给其他用户,可以通过如下的方式:
# crontab -l
MAIL=bob
0 2 * * * /script/backup.sh

posted @ 2022-02-21 14:09  tangshow  阅读(2492)  评论(0)    收藏  举报