【问题标题】:How to schedule a cron task for every 24 hours and 15 minutes [duplicate]如何每24小时15分钟安排一次cron任务[重复]
【发布时间】:2018-07-05 12:31:03
【问题描述】:

我这辈子都无法理解 cron 符号。我已经用 crontab 计算器玩了大约 20 分钟,试图让它发挥作用。

我需要每 24 小时 15 分钟运行一次任务。谁能帮我解决这个问题?

谢谢!

【问题讨论】:

  • 这是不可能的 - 每 24 小时怎么样?
  • crontab 用于在时间 X 执行任务(有一些语法糖用于在一段时间内每隔 n 执行一次)而不是在滑动执行时间内每 24*60+15 分钟执行一次任务
  • 啊,真可惜。你们会推荐什么?我在想我可以每分钟运行一个脚本来跟踪已经过去了多少时间,一旦达到 1455 分钟,它就可以运行真正的任务......
  • 为什么是 16 分钟?

标签: cron


【解决方案1】:

不知道你为什么想要这个。 创建一个shell脚本:

  • 读取文件
  • 检查其中存储的数字
  • 执行whatever如果counter % 97 == 0increment counter by 1
  • 在执行时,您可能还希望将数字重置为 0
  • 每 15 分钟执行一次并调用脚本的 cron 作业

如果您的服务器出现故障,您的执行会因停机而发生变化。

在此处阅读:https://unix.stackexchange.com/a/10650,它们详细介绍了使用 while true __something__ sleepwatch 方法以及其他方法的小型 Perl 脚本。

@Edit 作为对 EdHeals 评论的回应:
由于每天执行 97 个脚本,这种方法将有额外的滑动时间 - 脚本执行时间非常快(打开文件、检查数字、递增/空它 + 保存文件应该远低于 1 秒) - 仍然是 97*xa 天滑动时间。

Cron 执行也可能会滑动,它只能保证您的作业不会早于指定时间开始。

【讨论】:

  • 这会滑倒,因为它没有考虑执行脚本的时间量。
  • @EdHeal 同意,并且 cron 选项卡可能会滑动更多,尽管不会累积。
  • 我最终制作了一个时间跟踪 Python 脚本,该脚本存储了上次运行原始脚本的时间。和上次比较,如果是24.25小时后,再次运行原来的脚本
猜你喜欢
  • 1970-01-01
  • 2014-06-23
  • 1970-01-01
  • 2017-07-08
  • 1970-01-01
  • 2010-10-19
  • 2015-08-31
  • 2013-06-25
  • 1970-01-01
相关资源
最近更新 更多