Scripting

如何每 64 小時執行一次腳本?

  • September 22, 2021

我需要每 64 小時執行一次腳本。我找不到答案cron。是否有可能,或者我應該在 shell 腳本中使用循環?

如果您是初學者,我建議也許使用像crontab.guru這樣的 crontab“前端”來弄清楚 crontab。

但是,與您的情況一樣,小時設置僅允許 0 到 23 的值,因此您不能在此處使用 crontab。

相反,我建議使用at. 在你的情況下,我可能會使用類似的東西:

at now + 64 hours

然後輸入您的命令或

echo "<your command>" | at now + 64 hours

在腳本的開頭等。基本上,您將安排在最後一次呼叫命令時立即執行命令。另外,如果您不想要時間增量,而不是確切的時間,我建議做一些時間算術,然後使用確切的時間at來執行命令。

我強烈建議閱讀的手冊頁at,因為它相當全面。

只需每小時執行一次並檢查自某個任意時刻(例如,Unix 紀元時間的時刻 0)以來的小時數是 64 的倍數:

0 * * * * t=$(date +\%s); [ "$(( (t / 3600) \% 64 ))" -eq 0 ] && your-command

引用自:https://unix.stackexchange.com/questions/669669