NFS掛載腳本的修改
作者:佚名
文章中,我們介紹了一下NFS掛載的腳本內(nèi)容。通過(guò)對(duì)其代碼的展示,希望對(duì)大家能夠有一個(gè)參考作用。
NFS的使用必將廣泛,除了在網(wǎng)絡(luò)以及存儲(chǔ)方面的應(yīng)用也經(jīng)??梢詰?yīng)用到監(jiān)控模塊。這里我們就討論一下NFS掛載的內(nèi)容。在前面的文章中,我們?cè)?jīng)也介紹過(guò)相關(guān)的腳本,這里筆者又進(jìn)行了一些修改,希望對(duì)您有用。如果nfs掛載的順序沒(méi)有按照f(shuō)stab中寫(xiě)的順序進(jìn)行掛載,監(jiān)控就會(huì)發(fā)出warning的警告,但報(bào)警信息中沒(méi)掛載的硬盤(pán)信息是空的,實(shí)際查看機(jī)器確是所有掛載正常。于是對(duì)我的腳本進(jìn)行了調(diào)整,將check_mount函數(shù)提前運(yùn)行,然后根據(jù)LIST變量?jī)?nèi)容判斷是否掛載正常,調(diào)整后腳本的如下:
- #!/bin/bash
- #VERSION="1.1"
- #AUTHOR by wenzizone.cn
- . /usr/local/nagios/libexec/utils.sh
- CHECKNAME="Mount NFS"//NFS掛載
- RESULT=""
- EXIT_STATUS=$STATE_OK
- NFSFSTAB=`LC_ALL=C awk '!/^#/ && $3 ~ /^nfs/ && $3 != "nfsd" && $4 !~ /noauto/ { print $1 }' /etc/fstab`
- NFSMTAB=`LC_ALL=C awk '$3 ~ /^nfs/ && $3 != "nfsd" && $2 != "/" { print $1 }' /proc/mounts`
- theend() {
- echo $RESULT
- exit $EXIT_STATUS
- }
- CHECK_MOUNT(){
- LIST=""
- for list in $NFSFSTAB
- do
- NFS_MOUNT=$(LC_ALL=C cat /proc/mounts |cut -d " " -f 1|grep "${list}$")
- if [ -z "${NFS_MOUNT}" ];then
- LIST="$LIST$list "
- fi
- done
- }
- if [ -n "${NFSMTAB}" ];then
- CHECK_MOUNT
- if [ -z "${LIST}" ];then
- RESULT="$CHECKNAME OK - NFS BE MOUNTED PROPERLY"
- EXIT_STATUS=$STATE_OK
- else
- RESULT="$CHECKNAME WARNING - ${LIST} NOT BE MOUNTED"
- EXIT_STATUS=$STATE_WARNING
- fi
- else
- RESULT="$CHECKNAME CRITICAL - ALL NFS NOT BE MOUNTED"
- EXIT_STATUS=$STATE_CRITICAL
- fi
- theend
這樣NFS掛載監(jiān)控應(yīng)該就沒(méi)有問(wèn)題了。
責(zé)任編輯:佟健
來(lái)源:
IT實(shí)驗(yàn)室