我想每150分鐘運行一次cronjob。可能嗎?任何提示將不勝感激。安排一個cronjob運行,每2個1/2小時
1
A
回答
2
0
通常你可以用一個做到這一點很容易夫婦分開crontab
條目,一個用於五個小時的工作,其他的在兩者之間的工作:
0 0,5,10,15,20 ...
30 2,7,12,17,22 ...
牢記的是日之間的差距上一份工作一天,第二天的第一份工作只有一個半小時(2.5分不等於24分)。
如果你真的需要一兩個和一個半小時的差距,你可以經常因爲你需要,但只有執行負荷需要時所說的工作運行作業。
執行此操作的一種方法是使用狀態文件來維護運行有效負載的最後時間,然後在一段合適的時間過後才運行有效負載。例如,該腳本只能運行有效載荷(最終echo
)每7秒鐘,不管多久腳本被稱爲:
#!/bin/bash
# Configuration items.
stateFile=/tmp/lastTime.txt # File holding time of last payload run.
minGap=7 # How often payload should run (seconds).
# Get last payload run time (with checks for non-valid data).
((lastTime = 0))
[[ -f ${stateFile} ]] && lastTime="$(cat ${stateFile})"
[[ "${lastTime}" =~ [1-9][0-9]* ]] || ((lastTime = 0))
# Exit if not enough time elapsed, else update last payload run time.
thisTime=$(date +%s)
((timeGap = thisTime - lastTime))
[[ ${timeGap} -lt ${minGap} ]] && exit
echo ${thisTime} >${stateFile}
# This is the payload section, put whatever code you want here.
echo "[${lastTime}] [${thisTime}] [${timeGap}]"
假設你叫這個腳本runme.sh
,你可以測試一下:
while true ; do ./runme.sh ; sleep 1 ; done
這將運行它的每一秒,但你會發現有效載荷僅每7秒鐘(除第一次外)完成的,如預期:
[0] [1503908311] [1503908311]
[1503908311] [1503908318] [7]
[1503908318] [1503908325] [7]
[1503908325] [1503908332] [7]
[1503908332] [1503908339] [7]
[1503908339] [1503908346] [7]
[1503908346] [1503908353] [7]
對於您的特定情況,您可以將minGap
設置爲9000(兩個半小時,以秒爲單位),並且cron
根據的最大值運行腳本,該值等於間隔過去後您希望等待的時間量。
例如,假設您對潛伏五分鐘的延遲感到滿意(後續作業在前一作業之後的90到95分鐘之間運行)。然後,您將設置cron
,以便腳本每五分鐘運行一次。
相關問題
- 1. Magento的:安裝的cronjob每2小時
- 2. 安排一個windows服務每兩小時運行一次
- 3. 如何運行一個PHP腳本每半小時出cronjob
- 4. CronJob - 計劃一項工作,立即開始每12小時運行一次
- 5. 每12小時運行一次javascript
- 6. 安排在Flask上每小時運行一個函數
- 7. 執行一個cronjob每分鐘2次
- 8. 安排任務,每1小時運行
- 9. 如何安排一個cron作業每一小時運行一次?
- 10. 你如何安排一個TFS 2008版本每小時運行一次?
- 11. 如何運行一個cronjob在特定時間範圍內,每2分鐘
- 12. Cronjob每小時運行一次,但不是在特定時間運行
- 13. 在heroku上運行每個cronjob的casperjs
- 14. PHP垃圾回收器cronjob每3小時運行一次
- 15. 每12小時運行一次cron作業
- 16. cron命令每12小時運行一次
- 17. 在Windows上每小時cronjob
- 18. 如何爲一個php文件安排一個cronjob?
- 19. 的cronjob每小時運行和電子郵件結果
- 20. Cronjob每分鐘運行多次同一個php腳本
- 21. 運行的cronjob特定小時/天
- 22. 通過cronjob運行一個url
- 23. 每個時區在12時運行cron作業
- 24. 作爲cronjob運行PHP文件幾個小時的好主意?
- 25. 構建一個12小時的時鐘
- 26. 如何安排一個Java程序每天在Windows中運行?
- 27. 如何安排C#Windows服務每天運行一個方法?
- 28. 如何設置一個cronjob,每隔一個星期三運行5次?
- 29. 計劃在每個小時運行一個宏
- 30. WebJob每每個cron的日程安排運行兩次
我的不好。我的意思是每個** 150 **分鐘。 – karmatic
將它安排爲每兩小時運行一次可能會更簡單。 –