避免 shell 指令被重複執行
  • 204 views,
  • 04-25,
  • 上傳者: Kuann Hung,
  •  0
有的時候安排一些工作在 crontab 中,透過 shell 執行,但如果前一次沒執行完,後面的又繼續跑,那就 GG 了。
所以最好是能直接有一個 lock 機制來避免重複執行。下面介紹一個簡單的方式 (file lock) 來做。
 
#!/bin/bash

if [ -e "/tmp/something.run" ]; then
    echo "Another instance of the script is running. Aborting."
    exit
fi


touch  "/tmp/something.run"

######################
# 這邊放要執行的命令


rm "/tmp/something.run"
如果要跑多個不同的 lock,就換掉 something.run 就可以了
Facebook 討論區載入中...
資料夾 :
發表時間 :
2020-04-25 18:23:34
觀看數 :
204
發表人 :
Kuann Hung
部門 :
老洪的 IT 學習系統
QR Code :