失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux定时每隔多少天 Linux中Cron任务间隔执行:每隔几分钟/几小时/几天

linux定时每隔多少天 Linux中Cron任务间隔执行:每隔几分钟/几小时/几天

时间:2024-01-30 09:27:09

相关推荐

linux定时每隔多少天 Linux中Cron任务间隔执行:每隔几分钟/几小时/几天

一、配置

1)全局用户配置文件(/etc/crontab)

直接VI等编辑就可以。

2)个人用户配置(临时配置)

加任务:

crontab -e

0 */1 * * * command

0 */2 * * * command

查询任务是否加了:

crontab -l

0 */1 * * * command

0 */2 * * * command

二、配置格式

* * * * *command

分钟(0-59)小时(0-23)日期(1-31)月份(1-12)星期(0-6,0代表星期天) 命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

相关参数详细说明:

星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。

整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。

用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。

正斜线(/)可以用来指定间隔频率。在范围后加上 / 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。

开头为井号(#)的行是注释,不会被处理。

三、配置实例

#每隔1个小时执行一次 ls

0 */1 * * * ls

#每隔2个小时执行一次 ls

0 */2 * * * ls

#每隔3个小时执行一次 ls

0 */3 * * * ls

#每隔4个小时执行一次 ls

0 */4 * * * ls

#每隔10天执行一次 ls

0 0 */10 * * ls

#每天1点执行 ls

0 1 * * * ls

===================================================================

cron 表达式 1小时30分钟,(90分钟或100分钟)执行一次

注:不涉及日历(不指定某月\天(周几)等),比如定时任务的需求:间隔 多少秒/分/时( 每隔99秒,每隔100分钟执行等)

每隔90分钟执行一次

90*2= 180 = 3个小时

需要添加2个cron,间隔3小时

表达式:

cron1 0 30 1/3 * * ? (1.30,4.30,7.30,,,,)

cron2 0 0 0/3 * * ? (3.00,6.00,9.00,,,,)

每隔100分钟

100*3= 300 = 5个小时

需要添加3个cron,间隔5小时;

cron1 0 40 1/5 * * ? (1.40,6.40,11.40,,,)

cron2 0 20 3/5 * * ? (3.20,8.20,13.20,,,,)

cron2 0 0 5/5 * * ? (5.00,10.00,15.00)

每隔2个半小时执行一次

150*2= 300 = 5个小时

需要添加2个cron,间隔5小时

表达式:

cron1 0 30 2/5 * * ? (2.30,7.30,12.30,,,,)

cron2 0 0 0/5 * * ? (5.00,10.00,15.00,,,,)

受其他博文启发,一个定时任务实现不了,那这个任务,就添加多个触发时间,来实现;

需求1:从0点开始,每隔2个半小时,执行一次

思路记录:

1.先列出,我们预期的执行时间:

2.30,5.00,7.30,10.00,12.30,15:00

2.找规律:我们知道间隔 整数(1,2,3,,,)个小时的cron表达式;根据此前提,找间隔 整数个小时 时间的规律

3.规律结果

(2.30,7.30,12.30,,,,) 两点半开始,间隔5小时 那么此表达式==>0 30 2/5 * * ?

(5.00,10.00,15.00,,,,) 0点开始,间隔5小时 那么此表达式==> 0 0/5 * * ?

需求2:在指定时间t后,启动定时任务a,

可以采用:.再添加一个执行定时任务,动态添加那要求任务a,在那指定的时间t开始执行一次,有且只调用一次

总结:间隔 n 个小时,执行一次

1.找出n和60的最小公倍数:gbs;

2.gbs除60=间隔时间tt (tt<23?)

3.gbs除n=cron表达式个数

附加表达式在线测试网站:/

注意:粘贴我们自己写的表达cron表达式,查看运行结果时,得核对一下表达式是否被修改;我就遇到 0/3 变===>0-3

原文链接:/weixin_38981413/java/article/details/103755671

===

如果觉得《linux定时每隔多少天 Linux中Cron任务间隔执行:每隔几分钟/几小时/几天》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。