crontab 每隔幾秒執行
第一種方法:
當然首先想到的是寫一個觸發的指令碼,在觸發指令碼中使用死迴圈來解決此問題,如下:
-
cat kick.sh
-
#!/bin/bash
-
while : ;do
-
/home/somedir/scripts.sh 2>/dev/null &
-
sleep 3
- done
注意第一次執行時不要使用 bash kick.sh & 這種後臺執行的方式,它會僵死的。
可以把它放到計劃任務使其執行,然後將計劃任務中的此條目刪除即可。
第二種方法:
點選(此處)摺疊或開啟
-
cat cron-seconds.sh
-
#!/bin/bash
-
for((i=1;i<=20;i++));do
-
/home/somedir/scripts.sh 2>/dev/null &
-
sleep 3
- done
然後寫入的crontab裡每分鐘執行一次,如下
1
2
|
crontab -e
15-20 20 * * * /bin/bash /home/somedir/cron-seconds .sh
|
第三種方法:
那麼如何使用計劃任務來直接實現呢?
最後解決方案如下,經驗證,指令碼執行非常穩定。
-
## For excuting scripts.sh every 3 seconds##on 2014-10-15
-
*/1 * * * * /home/somedir/scripts.sh
-
*/1 * * * * sleep 3 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 6 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 9 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 12 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 15 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 18 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 21 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 24 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 27 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 30 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 33 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 36 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 39 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 42 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 45 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 48 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 51 && /home/somedir/scripts.sh
-
*/1 * * * * sleep 54 && /home/somedir/scripts.sh
- */1 * * * * sleep 57 && /home/somedir/scripts.sh
先每隔1秒鐘觸發定時任務,然後又休眠 3秒、6秒、9秒等間隔 來執行具體的Shell指令碼。
第一種方法和第二種方法並不是嚴格的間隔3秒執行的,會大於3秒,因為執行scripts.sh也是需要一定時間的,即使已經加了&符號放到了後臺執行也會存在一定的誤差。如果對於精確度要求不高,推薦使用第二種方法。
此文來自http://blog.snsgou.com/post-356.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-1761303/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- crontab 每隔 1 小時 2 小時的執行 job 寫法
- crontab執行phpPHP
- crontab不執行
- crontab異常:shell下可以執行命令,執行crontab卻報錯
- 如何用crontab每隔1分鐘執行一個命令列指令碼,shell設定時任務命令列指令碼
- crontab執行shell指令碼指令碼
- crontab的執行問題
- Ubuentu crontab執行scala不執行問題
- linux crontab以秒為單元執行指令碼_轉自骨骨筆記Linux指令碼筆記
- Linux crontab 未執行排查Linux
- Linux crontab 沒有執行Linux
- 自動執行任務crontab
- UNIX crontab自動執行指令碼指令碼
- 執行crontab最好的時間(轉)
- Crontab 任務不執行問題
- 安裝ffmpeg和crontab執行ffmpeg
- crontab無法執行perl指令碼 手工卻成功執行指令碼
- 秒殺多執行緒執行緒
- Debian的定時執行命令Crontab
- crontab每月最後一天執行
- 使用CRONTAB呼叫shell指令碼執行EXP指令碼
- linux下crontab 不能執行的原因Linux
- crontab定期執行命令詳解,以及例項
- unity C# 每隔一段時間執行一次UnityC#
- shell 檢測 pm2 是否執行 frp 相關程序 沒有執行執行 crontabFRP
- linux下定時執行任務的方法--crontabLinux
- Linux下用crontab定時執行PHP程式LinuxPHP
- crontab+shell 實現每秒執行一個任務
- centOS crontab定時任務不執行的解決CentOS
- 設定shell 定期 (crontab job) 執行 DB 中的物件物件
- 通過Linux crontab 定期執行Oracle Procedure 指令碼LinuxOracle指令碼
- --捕捉執行超過6秒的SQLSQL
- 如何使用cron任務每隔2天在固定時間執行任務
- 在linux上定期執行命令、指令碼(cron,crontab,anacron)Linux指令碼
- linux crontab下的指令碼不執行怎麼辦Linux指令碼
- Centos 7下利用crontab定時執行任務詳解CentOS
- CentOS Linux使用crontab執行定時任務詳解CentOSLinux
- linux之crontab定時執行命令走過的坑坑Linux