有的時候安排一些工作在 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 討論區載入中...