清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | #!/bin/bas # ################################################################################ # process status monitor config ################################################################################ # process num ProcNum=2 # ProcUser[0]=sybase ProcName[0]=dataserver # ProcUser[1]=sybiq ProcName[1]=iqsrv15 # # ################################################################################ # filesystem space monitor config ################################################################################ # filesystem space num FsNum=1 # # FsName: filesystem name # MaxPercent: maximum filesystem space used FsName[0]=/home/roo/ MaxPercent[0]=90 # # ################################################################################ # program log monitor config ################################################################################ # LogNum:log num LogNum=1 # # LogDir: log file directory # LogName: log file name # MaxHoldMin: warning if log file doesn't increase in appointed minutes LogDir[0]=/home/roo/ LogName[0]=$( date +%Y%m%d).log MaxHoldMin[0]=10 # # ################################################################################ # function declaration ################################################################################ # function get process id function GetPID #User #Name { PsUser=$1 PsName=$2 pid=$( ps -u $PsUser| grep $PsName| grep - v grep | grep - v vi | grep - v dbx \ | grep - v tail | grep - v start| grep - v stop | sed -n 1p | awk '{print $1}') echo $pid } # # function get filesystem space function GetDiskSpc #FileSystem { if [ $ # -ne 1 ]; then return 1 fi # FsDir=$1 DiskSpace=$( df -P $FsDir | tail -1 | awk '{print $5}' | awk -F% '{print $1}') echo $DiskSpace } # # function GetLogHold #LogPath { LogTime=$( ls --full- time $LogPath | awk '{print $6 " " $7}' | cut -d "." -f1) SYSTime=$( date +%F " " %T) echo | \ awk - v T1=LogTime - v T2=SYSTime '{ t1=mktime(T1); t2=mktime(T2); dif=(t2-t1)/60; print dif}' } # ################################################################################ # process check ################################################################################ echo echo "-- PROCESS STATUS CHECK BEGIN." i=0 while [ $i - lt $ProcNum ] do echo -n "Check process ${ProcName[$i]}: " PID=$(GetPID ${ProcUser[$i]} ${ProcName[$i]}) # if [ "-$PID" == "-" ]; then echo "Warning: process ${ProcName[$i]} does not exist!" else echo "Process ${ProcName[i]} is normal." fi # echo i=$[ $i + 1 ] done # echo "-- PROCESS STATUS CHECK END." echo echo # ################################################################################ # file system spaces check ################################################################################ echo echo "-- FILESYSTEM SPACE CHECK BEGIN." i=0 while [ $i - lt $FsNum ] do echo -n "Check filesystem ${FsName[$i]}: " DiskSpace=$(GetDiskSpc ${FsName[$i]}) # if [ $DiskSpace - gt ${MaxPercent[$i]} ]; then echo "Warning: filesystem (${FsName[$i]}) used $DiskSpace% more than ${MaxPercent[$i]}%!" else echo "Filesystem [${FsName[$i]}] used $DiskSpace%." fi # echo i=$[ $i + 1 ] done # echo "-- FILESYSTEM SPACE CHECK END." echo echo # ################################################################################ # program log check ################################################################################ echo echo "-- LOG STATUS CHECK BEGIN." i=0 while [ $i - lt $LogNum ] do echo -n "Check log ${LogDir[i]}${LogName[i]} : " LogHoldMin=$(GetLogHold ${LogDir[i]}${LogName[i]}) # if [ $LogHoldMin - gt ${MaxHoldMin[0]} ]; then echo "Warning: log [${LogDir[i]}${LogName[i]}] hold $LogHoldMin minutes more than ${MaxHoldMin[0]}!" else echo "Log [${LogDir[i]}${LogName[i]}] hold $LogHoldMin minutes." fi # echo i=$[ $i + 1 ] done # echo "-- LOG STATUS CHECK END." echo echo # |