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

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

全部回覆 (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學習者快速成長!