linux之Crontab

CSDN 2024-08-10 15:37:04 阅读 63

Crontab

(cron table)是一个用于设置周期性执行任务的列表。它利用 <code>cron 守护进程来执行指定时间和日期的任务。Crontab 的配置语法包含六个字段,前五个字段指定了任务执行的时间,最后一个字段是要执行的命令。

Crontab 配置时间由五个字段组成,每个字段代表不同的时间单位。字段之间用空格分隔。这五个字段的具体含义如下:

分钟:范围从 0 到 59。

小时:范围从 0 到 23。

日期:范围从 1 到 31,表示一个月中的天数。

月份:范围从 1 到 12,其中 1 表示一月,2 表示二月,依此类推。

星期几:范围从 0 到 7,其中 0 和 7 都表示星期天,1 表示星期一,2 表示星期二,等等。

每个字段可以包含不同类型的值:

具体的数值:指定特定的时间点,例如 5 表示每小时的第 5 分钟,或者每月的第 5 天。

星号(*):代表该字段的每个可能的值,例如 * 在小时字段中表示每个小时。

范围:用连字符 - 表示一段连续的范围,例如 1-5 在星期几字段中表示星期一到星期五。

列表:用逗号 , 分隔,表示不连续的多个值,例如 3,5,7 在日期字段中表示每月的第 3、5、7 天。

步长:用斜杠 / 表示间隔的频率,例如 */15 在分钟字段中表示每 15 分钟。

一个完整的 crontab 时间配置行可能如下所示:

复制代码 30 9 1,151-5 /path/to/command

这条 crontab 配置的含义是:在每月的第 1 天和第 15 天的上午 9:30,以及每周一到周五的上午 9:30,执行 /path/to/command

正确设置 crontab 配置对于确保任务按预期时间运行非常重要。在编辑 crontab 时,你可以使用 crontab -e 命令,并确保按照上述格式正确设置时间字段。

下面是一些 crontab 的配置例子,展示了不同类型的定时任务:

每分钟执行:

 /path/to/command

每小时的第 5 分钟执行:

 5 /path/to/command

每天午夜(00:00)执行:

 0 0/path/to/command

每天中午(12:00)执行:

 0 12/path/to/command

每小时执行:

 0 /path/to/command

每月 1 号的午夜执行:

 0 0 1/path/to/command

每周一的早上 6:30 执行:

 30 61 /path/to/command

每天 2:15 AM 和 2:15 PM 执行:

 15 2,14/path/to/command

每分钟的前 5 秒执行 (需要特定的 cron 版本,如 Vixie cron):

 */5 * * * * * /path/to/command

每月的最后一天执行:

0 0 L * * /path/to/command

每月的倒数第二天执行:

0 0 L-1/path/to/command

每个季度的第一天执行:

0 0 1 1,4,7,10/path/to/command

每年 1 月 1 日和 7 月 4 日执行:

0 0 1 1,7 1,4 /path/to/command

每个星期一到星期五的下午 5:00 执行:

复制代码 0 171-5 /path/to/command

每 15 分钟执行一次:

*/15 * * * * /path/to/command

在每个小时的第 0 和第 30 分钟执行:

0,30/path/to/command

在每个月的第三个星期五的午夜执行:

复制代码 0 05#3 /path/to/command

在每个季度的第一个月的第一个工作日执行:

0 0 1 1-12/3 1 /path/to/command

每年的特定日期和时间执行 (例如:每年的 25 号 12 月,早上 6:00):

0 6 25 12/path/to/command

请注意,具体的 cron 版本可能会有不同的扩展和语法,所以上面的一些例子(如使用 L 或 )可能不适用于所有的 cron 实现。务必查阅您使用的 cron 版本的文档以确认支持



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。