以下內容僅為提供思路
對於運維來說,每天對所管理的伺服器進行一次以上的巡檢是最基本的工作,當然,天天free、df的敲鍵盤很麻煩,這時候最好寫乙個日常巡檢的指令碼,辛苦一天,輕鬆一年
巡檢指令碼有兩種思路,一種是當你想親眼看一看系統狀況的時候,每台伺服器都親自執行一遍這個指令碼;另一種是將所有功能封裝,執行指令碼並不會反饋給你任何資料,只是在當有些引數超過你設定的閾值時傳送報警郵件
下面我們兩個都來寫個模板
#!/bin/bash
menu(
)menu
while
true
doecho -en "請輸入你要檢視的內容:"
read action
if[ -z "$action"];
then
echo
"see you later"
break
ficase
$action
in 1)
df -h
;;2)free -h
;;3)uptime;;
4) ss -tan |
grep -i "estab"
|wc -l
;;5)ps aux |
grep -v "grep"
|wc -l
;;6)fdisk -l
;;
esac
done
這個指令碼非常簡陋,但是基本的框架已經有了,接下來就可以根據這個框架新增自己需要的功能
第二種思路用ansible的playbook更好實現,不過如果你非要寫shell指令碼然後用ansible的scripts模組執行也行
#!/bin/bash
ip=ifconfig |
grep broadcast |
awk''
# 檔案系統
df=`
df -h |
grep -v '檔案系統'
|tr -s ' '|tr
' ':
`for i in
$dfdoj=`
echo $i |
awk -f: ''
|awk -f% ''`k=
`echo $i |
awk -f: ''
` if
[$j -gt 80 ]
then
echo
"檔案系統:$k 使用量已達$j"
| mail -s "報警:伺服器$ip檔案系統使用量超過閾值" ********@163.com
fidone
# 還可以寫各種要監控的引數,我這裡就不再寫了,大家可以隨意新增自己想要檢視的資訊
Shell日常巡檢指令碼大全
zhen localhost sh shell.sh 現在登陸的使用者是 zhenhao 語言 編碼 en us.utf 8 主機名 localhost.localdomain 閘道器 192.168.72.2 本機ip 192.168.72.7 本機的dns如下 nameserver 223.5....
日常巡檢 指令碼
bin bash function system os time date f t os run time uptime awk awk f,os last reboot time who b awk os hostname hostname echo 系統型別 os type echo 系統版本 ...
企業日常巡檢指令碼
bin bash system shiji date f t yunxin uptime awk awk f congqi who b awk host hostname echo 系統型別 lei xin echo 系統版 本 leixin echo 系統版本 leixin ech o 系統 版本...