婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 讓Linux下的cron以秒為單位執行shell腳本的3種方法

讓Linux下的cron以秒為單位執行shell腳本的3種方法

熱門標簽:陜西電銷卡外呼系統怎么安裝 旅游地圖標注大全 百度地圖的地圖標注 佛山高德地圖標注中心 excel地址地圖標注 地圖標注超出范圍怎么辦 杭州機器人外呼系統 百度地圖標注圖標更換 東莞電銷機器人價格一覽表

需要用到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命令行和shell腳本編程寶典 Richard Blum
  • linux c程序中獲取shell腳本輸出的實現方法
  • Linux shell腳本編程if語句的使用方法(條件判斷)
  • linux shell腳本學習xargs命令使用詳解
  • Linux Shell腳本編程的注意事項
  • linux下統計appche站點IP訪問量的shell腳本
  • Linux中執行shell腳本的4種方法總結
  • 阿里云云服務器Linux系統更新yum源Shell腳本
  • 一個監控LINUX目錄和文件變化的Shell腳本分享
  • Linux下實現SSH免密碼登錄和實現秘鑰的管理、分發、部署SHELL腳本分享
  • Linux Shell腳本編程初體驗
  • Linux Shell 腳本編程入門教程

標簽:延邊 通遼 雅安 隨州 朝陽 南充 青島 西藏

巨人網絡通訊聲明:本文標題《讓Linux下的cron以秒為單位執行shell腳本的3種方法》,本文關鍵詞  讓,Linux,下的,cron,以,秒,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《讓Linux下的cron以秒為單位執行shell腳本的3種方法》相關的同類信息!
  • 本頁收集關于讓Linux下的cron以秒為單位執行shell腳本的3種方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 英吉沙县| 桂阳县| 宁南县| 金溪县| 清远市| 乾安县| 潢川县| 乌审旗| 平罗县| 平武县| 漯河市| 福贡县| 泌阳县| 洛扎县| 鞍山市| 汝城县| 垦利县| 昌宁县| 昌宁县| 永靖县| 乐山市| 中阳县| 扎囊县| 苏州市| 绥滨县| 永清县| 和龙市| 五河县| 衡山县| 时尚| 陵川县| 金阳县| 勃利县| 马尔康县| 会昌县| 镶黄旗| 綦江县| 盐山县| 柯坪县| 神木县| 马尔康县|