linux
内置的cron
进程能帮我们实现各种各样的定时任务,例如:每周重启服务器、定时清理日志logs、定时刷数据、定时发邮件等等。cron
搭配shell
脚本,可以执行非常复杂的指令,实现非常复杂的业务,真可谓是简单又强大。
Crontab介绍
我们经常使用的是crontab
命令是cron table
的简写,它是cron的配置文件,也可以叫它作业列表
,我们可以在以下文件夹内找到相关配置文件。
/var/spool/cron/
目录下存放的是每个用户包括root
的crontab
任务,每个任务以创建者的名字命名。/etc/crontab
这个文件负责调度各种管理和维护任务。/etc/cron.d/
这个目录用来存放任何要执行的crontab文件或脚本。- 我们还可以把脚本放在
/etc/cron.hourly
、/etc/cron.daily
、/etc/cron.weekly
、/etc/cron.monthly
目录中,让它每小时/天/星期、月执行一次。 /var/spool/mail
目录存放着各种定时任务的执行日志,方便查看脚本任务的执行情况、报错信息等等。
Crontab使用
常用命令:
crontab -e
编辑任务列表,执行命令后会进入vim
编辑模式,每一行是一条任务命令。当然也可以直接进入/var/spool/cron/
目录,编辑对应的任务配置文件。crontab -l
查看任务列表crontab -r
删除任务列表
注意: 任务配置文件做好备份,不要轻易使用crontab -r
命令。
- 例:
1 | * * * * * /root/app/shell/run.sh |
说明: 此例 每分钟
执行一次 /root/app/shell/ 目录中的 run.sh
脚本。
提示: 每个 *
之间有一个空格,*
与脚本之间也有一个空格。
crontab时间格式说明
* | 含义 | 范围 |
---|---|---|
第一个 * | 一小时当中的第几分钟 | 0-59 |
第二个 * | 一天当中的第几小时 | 0-23 |
第三个 * | 一月当中的第几天 | 1-31 |
第四个 * | 一年当中的第几月 | 1-12 |
第五个 * | 一周当中的星期几 | 0-7(0和7都是星期天) |
- crontab范例
1 | */5 * * * * 每五分钟执行 |
特别说明: /
前后没有空格
,其他每个字符间都有空格,切记、切记、切记。)
欢迎访问:个人博客地址
本文作者: Tiven
发布时间: 2021-10-24
最后更新: 2023-03-02
本文标题: Linux强大的定时任务-Crontab
本文链接: https://www.tiven.cn/p/e5a27c6c/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
发布时间: 2021-10-24
最后更新: 2023-03-02
本文标题: Linux强大的定时任务-Crontab
本文链接: https://www.tiven.cn/p/e5a27c6c/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!