最近在unbuntu環境下需要定時執行某個任務,經過一番搜索,總結起來網上的方法主要有兩種,每一種應該都有自己的適合場景,分別是使用crontab和在腳本中執行循環並運行sleep命令。crontab的方法在按秒執行會比較麻煩,更適合於間隔時間較長的執行過程。而運行sleep命令適合於時間較短的重復執行。
使用crontab的方法:
使用crontab -e打開編輯模型,在新打開的文件中添加一行代碼,代碼由6列組成如(1 1 * * * command),每一列分別對應與分鐘,小時,日(一個月中的第幾天),月份,星期 定時執行的命令。*則是通配符,表示該列的項目任意。
更多精彩內容:http://www.bianceng.cn/OS/Linux/
對於使用crontab按秒執行的,網上有說到一種代碼格式如下,表示一分鐘的每10秒執行某個特定命令
* * * * * sleep 10 && command
* * * * * sleep 20 && command
* * * * * sleep 30 && command
* * * * * sleep 40 && command
* * * * * sleep 50 && command
* * * * * sleep 60 && command
使用sleep方法
可以編寫一個循環的腳本,在其中運行程序,並且使用sleep命令,例如,打開一個文本文件,輸入
while true
do
command
sleep 5
done
使用chmod a+x 將該文件的類型修改為可執行,運行該文件就實現了每5秒執行一次該程序。