crontab 定时任务设置

语法:crontab [选项]

选项功能
-e编辑crontab定时任务
-l查询crontab任务
-r删除当前用户所有的crontab任务

编辑定时任务说明

键入命令 crontab -e 回车后进入定时任务编辑界面。

语法:* * * * * echo "test" > /root/test.txt

注意:时间点之间用空格作为间隔,否则会报错。

项目含义范围
第一个“*”一小时当中的第几分钟0-59
第二个“*”一天当中的第几小时0-23
第三个“*”一个月当中的第几天1-31
第四个“*”一年当中的第几月1-12
第五个“*”一周当中的星期几0-7(0和7都代表星期日)

看这里可能会有点蒙圈,可以直接去看示例,辅助理解。

特殊符号

特殊符号含义
*代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
-代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令
*/n代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令

特定时间执行命令

时间含义
45 22 * * * 命令在22点45分执行命令
0 17 * * 1 命令每周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号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。

示例

需求:设置一个每周五早上九点二十分执行的一个输出命令。

  1. 键入命令 crontab -e,回车后进入编辑界面。

  2. 开始实现需求:

    20 09 * * 5 echo "Test crontab!" > /root/test.txt
    

    保存并退出,命令设置完成。

    按顺序解析:20 09 * * 5

    • 20:第 20 分钟

    • 09:早上九点

    • *:任意天数

    • *:任意月份

    • 5:每周五

  3. 查看运行效果:

    在这里插入图片描述

Logo

更多推荐