需要每 182 分钟运行一次的 cron 任务

需要每 182 分钟运行一次的 cron 任务

当前运行的是 Linux Mint 18.1;我能得到最接近期望结果的是一个丑陋的临时解决方案,我将 cron 设置为0 */4 * * * ck-cp使用名为“ck-cp”的脚本,其中包含一个睡眠命令,在执行实际检查的命令之前先睡眠 90 秒。由于工作性质,它大约 85% 的时间有效,其余 15% 的时间失败。

奇怪的是,在 Windows 中,这很容易实现。你只需告诉任务计划程序每 182 分钟运行一次该作业。100% 有效。

我发现这种行为上的差异很奇怪,尤其是因为 *nix 比 Windows 古老得多,而且通常更可靠。有人知道如何让 cron 做到这一点吗?(以上是我迄今为止发现的最好的……)

答案1

您可以通过使用 cron 安排脚本每分钟运行一次来​​实现,然后在纪元以来的时间未变为 0 时退出。

#!/bin/bash

minutesSinceEpoch=$(($(date +'%s / 60')))

if [[ $(($minutesSinceEpoch % 182)) -ne 0 ]]; then
    exit 0
fi

# ... your stuff here...

相关内容