限制 Crontab 指令執行時間

在執行 crontab 內的指令時, 如果想要限制執行時間, 可以使用 timeout 指令完成, 而這個方法不僅適用於 crontab, 即是一般指令也適用。

在 man 查看 timeout 指令的用法:

timeout – run a command with a time limit

再看看 crontab 的部份, 例如原來有一個 Shell Script 在 crontab 內執行:


# crontab -l
*/5 * * * * /path/to/script.sh

以上看到 /path/to/script.sh 會每 5 分鐘執行一次, 將以上內容加上 /usr/bin/timeout, 設定為執行限時 60 秒:
To:

*/5 * * * * /usr/bin/timeout 60 /path/to/script.sh

當 /path/to/script.sh 執行超過 60 秒時, timeout 對 script.sh 發出 kill signal.


Leave a Reply