NFS掛載腳本的修改
作者:佚名
文章中,我們介紹了一下NFS掛載的腳本內容。通過對其代碼的展示,希望對大家能夠有一個參考作用。
NFS的使用必將廣泛,除了在網絡以及存儲方面的應用也經常可以應用到監控模塊。這里我們就討論一下NFS掛載的內容。在前面的文章中,我們曾經也介紹過相關的腳本,這里筆者又進行了一些修改,希望對您有用。如果nfs掛載的順序沒有按照fstab中寫的順序進行掛載,監控就會發出warning的警告,但報警信息中沒掛載的硬盤信息是空的,實際查看機器確是所有掛載正常。于是對我的腳本進行了調整,將check_mount函數提前運行,然后根據LIST變量內容判斷是否掛載正常,調整后腳本的如下:
- #!/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掛載監控應該就沒有問題了。
責任編輯:佟健
來源:
IT實驗室