概述看多shell腳本實例自然就會有shell腳本的編寫思路了,所以我一般比較推薦看腳本實例來練習shell腳本 。下面分享幾個shell腳本實例 。
1、監(jiān)測Nginx訪問日志502情況,并做相應動作假設服務器環(huán)境為lnmp,近期訪問經(jīng)常出現(xiàn)502現(xiàn)象,且502錯誤在重啟php-fpm服務后消失,因此需要編寫監(jiān)控腳本,一旦出現(xiàn)502,則自動重啟php-fpm服務 。
#場景:#1.訪問日志文件的路徑:/data/log/access.log#2.腳本死循環(huán),每10秒檢測一次,10秒的日志條數(shù)為300條,出現(xiàn)502的比例不低于10%(30條)則需要重啟php-fpm服務#3.重啟命令為:/etc/init.d/php-fpm restart#!/bin/bash############################################################監(jiān)測Nginx訪問日志502情況,并做相應動作###########################################################log=/data/log/access.logN=30 #設定閾值while :do #查看訪問日志的最新300條,并統(tǒng)計502的次數(shù)err=`tail -n 300 $log |grep -c '502" '` if [ $err -ge $N ] then /etc/init.d/php-fpm restart 2> /dev/null #設定60s延遲防止腳本bug導致無限重啟php-fpm服務 sleep 60 fi sleep 10done

2、把一個文檔前五行中包含字母的行刪掉,同時刪除6到10行包含的所有字母1)準備測試文件,文件名為2.txt
第1行1234567不包含字母第2行56789BBBBBB第3行67890CCCCCCCC第4行78asdfDDDDDDDDD第5行123456EEEEEEEE第6行1234567ASDF第7行56789ASDF第8行67890ASDF第9行78asdfADSF第10行123456AAAA第11行67890ASDF第12行78asdfADSF第13行123456AAAA
2)腳本如下:
#!/bin/bash###############################################################把一個文檔前五行中包含字母的行刪掉,同時刪除6到10行包含的所有字母##############################################################sed -n '1,5'p 2.txt |sed '/[a-zA-Z]/'dsed -n '6,10'p 2.txt |sed s'/[a-zA-Z]//'gsed -n '11,
推薦閱讀
- 橙心優(yōu)選怎么分享給別人加入
- 五個趣味Excel案例分享 excel案例
- 微信怎么看直播
- 怎么鑒別ahc水乳真假
- 拼多多怎么生成分享鏈接
- 如何把網(wǎng)頁內(nèi)容分享到微信
- 喜樂有分享
- 經(jīng)驗分享:見習生對職場的感悟
- 怎么剪輯視頻教程免費
- 如何投訴微信
