linux-crontab命令
2021/5/10 7:25:53
本文主要是介绍linux-crontab命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、查看crontab定时执行任务列表
crontab -l
2、编辑crontab定时执行任务
crontab -e
3、删除crontab定时任务
crontab -r
4、相关命令:
sudo service crond start #启动服务
sudo service crond stop #关闭服务
sudo service crond restart #重启服务
sudo service crond reload #重新载入配置
sudo service crond status #查看服务状态
crontab 的时间表达式:
基本格式 :
* * * * * command
分 时 日 月 周 命令
先来看一个例子。每天凌晨1:00执行备份程序:0 1 * * * /root/wzfou.com/backup.sh 。其中/root/wzfou.com/backup.sh 这是脚本路径,要使用绝对路径,前面的日期格式请直接看下图就知道了。
crontab还有操作符,用来实现一些复杂的时间设定需要。操作符有:
1、* 取值范围内的所有数字 ,代表所有。
2、/ 每过多少个数字 ,代表每隔n长时间。
3、- 从X到Z ,代表一段时间范围。
4、,散列数字,代表分割开多个值。
PS:2018年4月15日更新,感谢好友云落提醒,如果还有搞不懂代码公式的,可以使用这个在线Cron表达式生成器:http://cron.qqe2.com/
实例1:每1分钟执行一次
-
-
-
-
- /mnt/backup.sh
-
-
-
实例2:每小时的第3和第15分钟执行一次
3,15 * * * * /mnt/backup.sh
实例3:每天的8点到11点的第3和第15分钟执行一次
3,15 8-11 * * * /mnt/backup.sh
实例4:每隔两天的上午8点到11点的第3和第15分钟执行一次
3,15 8-11 */2 * * /mnt/backup.sh
实例5:每周一上午8点到11点的第3和第15分钟执行一次
3,15 8-11 * * 1 /mnt/backup.sh
实例6:每晚的21:30执行一次
30 21 * * * /mnt/backup.sh
实例7:每月1、10、22日的4 : 45执行一次
45 4 1,10,22 * * /mnt/backup.sh
实例8:每周六、周日的1 : 10执行一次
10 1 * * 6,0 /mnt/backup.sh
实例9:每天18 : 00至23 : 00之间每隔30分钟执行一次
0,30 18-23 * * * /mnt/backup.sh
实例10:每星期六的晚上23: 00 pm执行一次
0 23 * * 6 /mnt/backup.sh
实例11:每一小时执行一次
- */1 * * * /mnt/backup.sh
实例12:每天晚上23点到第二天7点之间,每隔一小时执行一次
- 23-7/1 * * * /mnt/backup.sh
实例13: 每个星期的第一天执行一次(即每个星期天晚上24:00开始执行).
@weekly /mnt/backup.sh
实例14:每个月的15日执行一次.
0 11 15 * * /mnt/backup.sh
实例15:每个月的第一天执行一次(即每个月的1日凌晨0点开始执行).
@monthly /mnt/backup.sh
实例16: 在指定的月份执行一次(在1月,4月和 6月每天晚上0点执行一次).
0 0 * jan,apr,jun * /mnt/backup.sh
实例17: 重启后执行一次.
@reboot /mnt/backup.sh
实例18:定时任务执行后发一封邮件通知.
MAILTO=“raj”
1 1 * * * /mnt/backup.sh
实例19:指定shell (默认的是/bin/bash)
SHELL=/bin/sh
1 1 * * * /mnt/backup.sh
实例20:指定环境变量.
PATH=/sbin:/bin:/usr/sbin:/usr/bin
1 1 * * * /mnt/backup.sh
大家新建的Crontab定时任务保存后需要等待2分钟后才会执行,当然如果想要立即执行可以重启Crontab。当crontab失效时,可以尝试/etc/init.d/crond restart解决问题,或者查看日志看某个任务有没有执行/报错tail -f /var/log/cron。
脚本中涉及文件路径时写全局路径,更新系统时间时区后需要重启cron。当手动执行脚本OK,但是crontab死活不执行时很有可能是环境变量,可尝试在crontab中直接引入环境变量解决问题,例如:
0 * * * * . /etc/profile;/bin/sh /root/wzfou.com/backup.sh
要注意系统级任务调度与用户级任务调度。只有 root 用户和 crontab 文件的所有者可以在 -e 、-l、-r 和 -v标志后面使用 UserName 以编辑、列出、除去或验证指定用户的 crontab 文件。
root用户的任务调度操作可以通过”crontab –uroot –e”来设置,也可以将调度任务直接写入/etc/crontab文件。
想编辑别的用户的 crontab, 使用root运行下面的命令,同一个格式 (追加 “-u username” 到命令后) 也可以用来列出或删除 crontabs。
crontab -u username -e
当Crontab定时任务在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,可以在日志中/var/log/cron看到。若是你不希望收到这样的通知,请在每一行空一格之后加上 > /dev/null 2>&1 即可
这篇关于linux-crontab命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23linux 系统宝塔查看网站访问的命令是什么?-icode9专业技术文章分享
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南