亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

讓Linux下的cron以秒為單位執行shell腳本的方法有哪些

發布時間:2021-07-29 23:37:53 來源:億速云 閱讀:304 作者:chen 欄目:開發技術

這篇文章主要講解了“讓Linux下的cron以秒為單位執行shell腳本的方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“讓Linux下的cron以秒為單位執行shell腳本的方法有哪些”吧!

需要用到Shell腳本每隔3秒鐘去監控一個軟件進程的運行狀態,發現crond似乎只支持到分,不知道秒,怎么辦呢?

第一種方法:

當然首先想到的是寫一個觸發的腳本,在觸發腳本中使用死循環來解決此問題,如下:

cat kick.sh

代碼如下:


#!/bin/bash
while : ;do
 /home/somedir/scripts.sh 2>/dev/null &
 sleep 3
done

注意第一次運行時請不要使用 bash kick.sh & 這種后臺運行的方式,它會僵死的。

可以把它放到計劃任務使其運行,然后將計劃任務中的此條目刪除即可。最后把這個腳本放到 /etc/rc.local 讓它每次開機都可以被運行。

第二種方法:

和第一種方法類似,只不過感覺比第一種更便捷一些。

代碼如下:


#!/bin/bash
#For excuting the scripts every 3 seconds in crond.
#20100124.WXG

for((i=1;i<=20;i++));do

 /home/somedir/scripts.sh 2>/dev/null &
 sleep 3
done

然后寫入的crontab里每分鐘執行一次,如下:

代碼如下:


crontab -e
* * * * * /bin/bash /home/somedir/cron-seconds.sh

第三種方法:

那么如何使用計劃任務來直接實現呢?
最后解決方案如下,經驗證,腳本運行非常穩定。

代碼如下:


crontab -e
## 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也是需要一定時間的,即使已經加了&符號放到了后臺執行也會存在一定的誤差。如果對于精確度要求不高,推薦使用第二種方法。

工作中的一次用 PHP腳本每隔3秒鐘去監控一個Memcached代理服務器Magent的運行狀態。

代碼如下:


crontab -e
#-----------------------------------------------------------------
*/1 * * * * /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * *  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 3 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 6 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 9 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 12 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 15 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 18 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 21 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 24 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 27 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 30 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 33 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 36 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 39 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 42 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 45 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 48 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 51 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 54 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
*/1 * * * * sleep 57 &&  /usr/local/php/bin/php  /usr/local/nginx/www/MemcachedMagent/index.php  172.16.8.81 >/dev/null 2>&1
#-----------------------------------------------------------------

感謝各位的閱讀,以上就是“讓Linux下的cron以秒為單位執行shell腳本的方法有哪些”的內容了,經過本文的學習后,相信大家對讓Linux下的cron以秒為單位執行shell腳本的方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

静安区| 大竹县| 福清市| 临海市| 达尔| 鱼台县| 澄迈县| 沽源县| 海丰县| 海阳市| 和静县| 合水县| 紫金县| 响水县| 南岸区| 淳化县| 翁牛特旗| 左权县| 石首市| 东辽县| 扶沟县| 乾安县| 琼结县| 龙里县| 来安县| 湘阴县| 郴州市| 石屏县| 伊宁市| 吉隆县| 海口市| 东兴市| 读书| 阿鲁科尔沁旗| 永州市| 拜城县| 斗六市| 砀山县| 定安县| 施秉县| 团风县|