中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

向大家分享一個shell腳本的坑

發布時間:2020-08-16 07:42:32 來源:ITPUB博客 閱讀:167 作者:安全劍客 欄目:建站服務器

打算在跳板機上寫一個shell腳本,批量檢查遠程服務器上的main進程是否在健康運行中。

先找出其中一臺遠程機器,查看main進程運行情況

[root@two002 tmp]# ps -ef|grep main
root     23448 23422  0 11:40 pts/0    00:00:00 grep --color=auto main
 
[root@two002 tmp]# ps -ef|grep main|grep -v grep|wc -l

shell檢查腳本如下

[root@two002 tmp]# cat /tmp/main_check.sh
#!/bin/bash
NUM=$(ps -ef|grep main|grep -v grep|wc -l)
if [ $NUM -eq 0 ];then
   echo "It's not good! main is stoped!"
else
   echo "Don't worry! main is running!"
fi

執行腳本

[root@two002 tmp]# sh -x /tmp/main_check.sh
++ grep main
++ grep -v grep
++ wc -l
++ ps -ef
+ NUM=2
+ '[' 2 -eq 0 ']'
+ echo 'Don'\''t worry! main is running!'
Don't worry! main is running!
 
[root@two002 tmp]# sh /tmp/main_check.sh
Don't worry! main is running!

如上執行結果,發現腳本執行過程中,看到賦予NUM參數的結果值是2!但是手動執行ps -ef|grep main|grep -v grep|wc -l的結果明明是0!!
這是由于grep匹配的問題,需要grep進行精準匹配,即"grep -w"。這就需要將main_check.sh腳本內容修改如下:

[root@two002 tmp]# cat /tmp/main_check.sh
#!/bin/bash
NUM=$(ps -ef|grep -w main|grep -v grep|wc -l)
if [ $NUM -eq 0 ];then
   echo "Oh!My God! It's broken! main is stoped!"
else
   echo "Don't worry! main is running!"
fi

再次執行檢查腳本,就OK了

[root@two002 tmp]# sh -x /tmp/main_check.sh
++ grep -w main
++ grep -v grep
++ wc -l
++ ps -ef
+ NUM=0
+ '[' 0 -eq 0 ']'
+ echo 'Oh!My God! It'\''s broken! main is stoped!'
Oh!My God! It's broken! main is stoped!
 
[root@two002 tmp]# sh /tmp/main_check.sh
Oh!My God! It's broken! main is stoped!

故在跳板機上,批量檢查遠程服務器的main進程運行狀態的腳本為:

[root@tiaoban ~]# cat /usr/bin/main_check
#!/bin/bash
NUM=$(ps -ef|grep -w main|grep -v grep|wc -l)
if [ $NUM -eq 0 ];then
   echo "Oh!My God! It's broken! main is stoped!"
else
   echo "Don't worry! main is running!"
fi
 
[root@tiaoban ~]# cat /opt/script/main_check.sh
#!/bin/bash
 
for i in $(cat /opt/ip.list)
do
/usr/bin/rsync -e "ssh -p22" -avpgolr /usr/bin/main_check $i:/usr/bin/ > /dev/null 2>&1
ssh -p22 root@$i "echo $i;sh /usr/bin/main_check"
done  


向AI問一下細節

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

AI

星座| 赤水市| 彭水| 临漳县| 阜宁县| 定陶县| 梁河县| 桦川县| 昌图县| 临江市| 页游| 石泉县| 福贡县| 大田县| 渭源县| 乐平市| 聂拉木县| 新余市| 湖口县| 巴东县| 青海省| 天柱县| 荥经县| 古蔺县| 陆良县| 镇巴县| 遵义县| 福鼎市| 门头沟区| 内江市| 如皋市| 西乡县| 福州市| 离岛区| 平罗县| 农安县| 安陆市| 花莲市| 普兰店市| 双辽市| 方正县|