crontab 定时任务 65 分钟执行一次,怎么写?

2019-12-24 16:40:26 +08:00
 shengchao
33579 次点击
所在节点    Linux
88 条回复
zyq2280539
2019-12-25 10:17:59 +08:00
这个简单啊,写个 shell 放到 crontab 里每天执行一次,然后 shell 里写上代码循环多少次,执行完毕就 sleep 65 分钟,差不多能基本满足需求吧
cuixiao603
2019-12-25 10:23:03 +08:00
* * * * * sleep 3900;command
oeagut
2019-12-25 10:28:51 +08:00
date 获取 1970 那个日期到现在的秒数,然后对 65*60 这个数取余,如果余数为 0,执行你的东西

然后把上面的写到 crond 里,每分钟执行一下,逻辑没错吧。
cnbattle
2019-12-25 10:29:58 +08:00
最后结论 代码层处理..
lyis
2019-12-25 11:26:30 +08:00
@est 每分钟执行一次
zhoudaiyu
2019-12-25 11:30:53 +08:00
sleep 大法好
Felldeadbird
2019-12-25 11:52:46 +08:00
cron 每分钟执行,然后业务逻辑进行时间判断。 睡眠固然是好,但要是中途因为突发内存占用问题,进程被清空了,不就凉凉
ShundL
2019-12-25 12:07:12 +08:00
@cuixiao603 #62 你这个不是成了每分钟执行了?
tinybaby365
2019-12-25 12:32:45 +08:00
at 命令了解一下
cuixiao603
2019-12-25 14:03:47 +08:00
@ShundL #68 不会啊 3900 秒是 65 分钟啊
ShundL
2019-12-25 15:41:42 +08:00
@cuixiao603 #70 但 cron 每分钟执行,也就每分钟都创建一个 sleep 65 分钟的任务,每次任务的最终执行时间应该只相差 1 秒吧?
ryanlid
2019-12-25 15:55:17 +08:00
@cuixiao603 #70 细品一下,从第 65 分钟开始,就变成每分钟执行了
dier
2019-12-25 16:02:50 +08:00
at 命令了解一下
InternetExplorer
2019-12-25 16:08:16 +08:00
systemd.timer 了解一下,现在的系统应该都是 systemd 的了
james122333
2019-12-25 16:25:20 +08:00
shell 强多了
被低估的工具
主要还是太多人写太差了
james122333
2019-12-25 16:26:23 +08:00
crontab 的功能完全可以用 shell 实现
wmwmajie
2019-12-25 16:34:01 +08:00
@shengchao 你的描述是 65 分钟执行一次。
那么我在 crontab 里面加入一个 60 分钟执行一次的任务,然后在任务的代码里面先休眠 5 分钟。
这难道不是 65 分钟执行一次?
如果你是要从 crontab 任务写入的时候开始算 65 分钟执行,那么你就在 0 分的时候修改 crontab,这样每次执行都是 65 分钟后。
aliao0019
2019-12-25 16:34:22 +08:00
写一个每 13 个小时跑一次的 cron task,在这个脚本里每隔 65 分钟跑一次,一共跑 12 次
aliao0019
2019-12-25 16:35:25 +08:00
等等,是不是也不支持 “每 13 个小时”
@aliao0019
wmwmajie
2019-12-25 16:36:59 +08:00
@shengchao 这是实现你描述的一种方式,如果你要 crontab 支持 65 分钟跑一次,没有。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/631917

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX