Linux cron定时任务使用技巧
1. crontab含义
项目 | 含义 | 范围 |
---|---|---|
第一个"*" | 一小时当中的第几分钟(minute) | 0~59 |
第二个"*" | 一天当中的第几小时(hour) | 0~23 |
第三个"*" | 一个月当中的第几天(day) | 1~31 |
第四个"*" | 一年当中的第几个月(month) | 1~12 |
第五个"*" | 一周当中的星期几(week) | 0~7(0和7都代表星期日) |
特殊符号 | 含义 |
---|---|
*(星号) | 代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。 |
,(逗号) | 代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。 |
-(中杠) | 代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。 |
/(正斜线) | 代表每隔多久执行一次。比如"/10***命令",代表每隔 10 分钟就执行一次命令。 |
时间 | 含义 |
---|---|
45 22 ***命令 | 在 22 点 45 分执行命令 |
0 17 ** 1命令 | 在每周一的 17 点 0 分执行命令 |
0 5 1,15**命令 | 在每月 1 日和 15 日的凌晨 5 点 0 分执行命令 |
40 4 ** 1-5命令 | 在每周一到周五的凌晨 4 点 40 分执行命令 |
*/10 4 ***命令 | 在每天的凌晨 4 点,每隔 10 分钟执行一次命令 |
0 0 1,15 * 1命令 | 在每月 1 日和 15 日,每周一个 0 点 0 分都会执行命令,注意:星期几和几日最好不要同时出现,因为它们定义的都是天,非常容易让管理员混淆 |
2. 常用crontab表达式
1. 每分钟执行一次命令
* * * * * command
2. 每十分钟执行一次命令
*/10 * * * * command
3.每小时执行一次命令
0 * * * * command
4. 每两个小时执行一次
0 */2 * * * command
5. 每天凌晨执行一次命令
0 0 * * * command
6. 每天晚上七点十分执行一次
10 19 * * * command
7. 每天十二点执行一次
0 12 * * * command
8. 每周一十点执行一次
0 10 * * 1 command
9. 每周五晚上十一点半执行一次
30 23 * * 5 command
10. 每周日凌晨执行一次命令
0 0 * * 0 command
11. 每月第一天凌晨执行一次命令
0 0 1 * * command
12. 每月1日凌晨两点执行一次
0 2 1 * * command