Cron

克朗偏移五分鐘時間表

  • August 30, 2021

是否可以抵消設置為每 5 分鐘執行一次的 cron 腳本?

我有兩個腳本,腳本 1 從一個數據庫收集一些數據並將其插入另一個數據庫,腳本 2 提取這些數據和許多其他數據並從中創建一些漂亮的報告。兩個腳本都需要每 5 分鐘執行一次。我想將腳本 2 偏移一分鐘,以便它可以根據新數據創建報告。EG 我希望腳本一執行,:00, :05, :10, :15 [...]腳本二:01, :06, :11, :16 [...]每小時執行一次。腳本不相互依賴,無論腳本 1 是否成功,腳本 2 都必須執行。但是,如果報告可以包含最新數據,那將很有用。cron可以做到這一點嗎?

郵政;

我曾考慮在 shell 腳本中使用這兩個命令,以便它們立即執行,但這不起作用,有時腳本 1 可能會在等待外部 API 等時掛起,因此可能需要長達 15 分鐘才能執行,但是腳本 2 必須每 5 分鐘執行一次,因此這樣做會停止/延遲腳本 2 的執行。如果我可以在 Cron 中設置它,則意味著腳本 2 將執行,而不管腳本 1 在做什麼

您可以隨時使用cron. 如果你想每 5 分鐘執行一次腳本 1,你可以這樣開始:

*/5 * * * * /path/to/script1

但這實際上只是以下的簡寫:

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /path/to/script1

如果你想在腳本 1 之後一分鐘執行腳本 2,你可以這樣做:

1,6,11,16,21,26,31,36,41,46,51,56 * * * * /path/to/script2

你也可以這樣做:

*/5 * * * * /path/to/script1
*/5 * * * * /path/to/script2

然後在腳本 2 開始時,休眠一分鐘:

sleep 60

引用自:https://serverfault.com/questions/286421