有時排程未跑完,下一個週期的排程又被啟動
雖然自己有想法解這問題,不過這應該一堆神人遇過,一定有厲害的解法
請教了google大神,果然出現超強解法
只要改crontab的指令就好,連程式都不用改
注意事項
超簡單又不用改程式,爽~~~~~~~~~~~
more~
以上的寫法是當重覆執行時,新的排程就直接放棄不執行
但如果是要執行,但可等個幾分鐘怎麼做哩
只要改參數即可
雖然自己有想法解這問題,不過這應該一堆神人遇過,一定有厲害的解法
請教了google大神,果然出現超強解法
只要改crontab的指令就好,連程式都不用改
* * * * * sh '/home/fish/test.sh' #原寫法 * * * * * flock -xn /tmp/test.lock -c '/home/fish/test.sh' #flock寫法
注意事項
- test.lock 會自動產生,不用理,放在/tmp可避免權限問題
- 利用flock,得確定執行角色有test.sh的執行權限
超簡單又不用改程式,爽~~~~~~~~~~~
more~
以上的寫法是當重覆執行時,新的排程就直接放棄不執行
但如果是要執行,但可等個幾分鐘怎麼做哩
只要改參數即可
#等60秒後,再執行(要拿掉n,加上w) * * * * * flock -x /tmp/test.lock -w 60 -c '/home/fish/test.sh'
沒有留言:
張貼留言