运维 - linux crontab定时任务与flock
迷茫
迷茫 2017-04-17 16:31:40
0
2
904
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(2)
黄舟

我已經解決了上面的問題,那就是在腳本裡新增「刪除lock文件,新建lock檔案」的語句。我發現每次lock檔案是新的時候才會觸發crontab。

從圖表可見,只要偵測是目前時間出現499 就會觸發一個叫做nginxchen.sh的腳本,這個腳本執行時間大約8分鐘。

左手右手慢动作

說實話,我也不知道你這個具體是什麼原因,借用一句話:實踐是檢驗真理的唯一標準,因此我模擬了樓主的場景

1.寫一個執行超過2分鐘的腳本,然後執行

2.放到crontab
*/1 * * * * flock -xn /root/xx.lock -c 'sh /root/xx.sh >>/tmp/xx.log 2>&1'

3.查看crontab執行內容

可以發現,並沒有樓主所說的問題

因此有以下建議:
1.編寫一個簡短的腳本在伺服器上面測試,如果不行,就換台伺服器,看看是否狀況相同
2.查看/mnt/499.log 日誌有無異常輸出
3.查看進程是否一直在運行或卡死導致crontab無法拿到鎖

就以上這些了,如果樓主自己找到原因,不要忘記貼出來啊

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!