crontab
Table of Contents
crontab 是 Linux 下的定时器。常见的使用方式:
crontab -l [user]:查看 user 用户的 crontabcrontab -e [user]:编辑 user 用户的 crontabcrontab -d [user]:删除 user 用户的 crontab
user 是可选的,如果不设置则表示当前用户。
1. 基本配置
基本格式:
* * * * * command
分别表示,分、时、日、月、周 和 执行命令。
- 分,
0-59, 每分钟用*或者*/1表示 - 时,
0-23,1表示凌晨一点 - 日,
1-31 - 月,
1-12 - 周,
0-6,从星期天开始 - command,就是执行命令,使用时请使用命令的绝对路径,比如
/user/local/bin/python而不是python
2. 配置实践
以分钟为例:
crontab最小的单位是分钟,所以没有比分钟更小的粒度了。/表示每,在分钟上*/2表示每两分钟,*/1跟*相同表示每分钟- 直接写数值表示的是固定时间触发,
2表示 2 分的时候执行 a-b表示时间段,2-10表示 2 到 10 分钟之间每分钟都执行a,b,c逗号分隔,表示该时间点触发,=10,30= 表示 10 分和 30 分时执行- 如果你不关心命令的执行结果,可以在命令后添加
> /dev/null 2>&1,也可以将结果定向到某个文件中,方便出错后查看
3. crontab 样例
0 0 * * * /data/backupdb:在每天的00:00备份 DB*/2 * * * * /data/ping:每两分钟做一次 ping 检测30 18 * * * 5 /data/weeky:每周五的18:30发周报* */2 * * * /data/backupdb:每两小时备份一次 DB0 9 * * 1-5 /data/sign:每周的周一到周五的早上09:00签到
在线编辑:https://crontab.guru/ 挺好用。