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/ 挺好用。