shell指令碼 日常巡檢

2021-09-29 06:33:21 字數 1368 閱讀 8548

以下內容僅為提供思路

對於運維來說,每天對所管理的伺服器進行一次以上的巡檢是最基本的工作,當然,天天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 系統 版本...