1.含义
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
2.语法
* * * * * * [user] [command]
第一个*:min ,即分钟。取值范围(0 - 59);
第二个*:hour,即小时。取值范围(0-23);
第三个*:day of month,即每月的某天。取值范围(0-31);
第四个*:month,即月份。取值范围(1-12);
第五个*:day of week,即每周的星期几。取值范围(Sunday=0 或者7);
第六个*:year,即年。【可选参数】
3.用法
用法多种多样,这里举一些例子,我们一起来分析分析。
①12 * * * * *
当前时间是:2017-09-15 15:41:00接下来五次的执行时间分别是:
2017-09-15 16:12:00
2017-09-15 17:12:00
2017-09-15 18:12:00
2017-09-15 19:12:00
2017-09-15 20:12:00
分析:XX:12:00是该语句的执行时间
②* 22 * * * *当前时间是:2017-09-15 15:41:00接下来五次的执行时间分别是:
2017-09-15 22:00:00
2017-09-15 22:01:00
2017-09-15 22:02:00
2017-09-15 22:03:00
2017-09-15 22:04:00
分析:也就是说从今天的22点开始,每隔一分钟执行一次该命令
③45 22 * * * *
当前时间是:2017-09-15 15:41:00接下来五次的执行时间分别是:
2017-09-15 22:45:00
2017-09-16 22:45:00
2017-09-17 22:45:00
2017-09-18 22:45:00
2017-09-19 22:45:00
分析:每天的22:45分执行该命令
④* * 2 * * *
当前时间是:2017-09-15 15:41:00接下来五次的执行时间分别是:
2017-10-02 00:00:00
2017-10-02 00:01:00
2017-10-02 00:02:00
2017-10-02 00:03:00
2017-10-02 00:04:00
分析:每月的2号,每隔一分钟执行一次任务
⑤30 12 2 3 * *
当前时间是:2017-09-15 15:41:00接下来五次的执行时间分别是:
2018-03-02 12:30:00
2019-03-02 12:30:00
2020-03-02 12:30:00
2021-03-02 12:30:00
2022-03-02 12:30:00
分析:每年的 03-02 12:30:00执行此命令
⑥30 12 1 10 2 *
当前时间是:2017-09-15 15:41:00接下来三次的执行时间分别是:
2019-10-01 12:30:00
2024-10-01 12:30:00
2030-10-01 12:30:00
分析:在未来的每一年,如果这一年的10月1日是星期二的话,就执行此命令
⑦30 12 1 10 0 2017
当前时间是:2017-09-15 15:41:00接下来一次的执行时间是:
2017-10-01 12:30:00
分析:如果2017年的10月1日是星期天的话,就执行此命令。
下面我们来看看“/”这个玩意
⑧2/20 12 * * * *
当前时间是:2017-09-15 15:41:00接下来一次的执行时间是:
2017-09-16 12:02:00
2017-09-16 12:22:00
2017-09-16 12:42:00
2017-09-17 12:02:00
2017-09-17 12:22:00
分析:未来的每天12-13点期间,分钟数的个位数是2执行一次,间隔20分钟,再执行一次。
⑨0/30 * * * * *
当前时间是:2017-09-15 16:18:00接下来一次的执行时间是:
2017-09-15 16:30:00
2017-09-15 17:00:00
2017-09-15 17:30:00
2017-09-15 18:00:00
2017-09-15 18:30:00
分析:每个半小时执行一次
暂时写到这里,如果有哪里不对,欢迎您批评指出!