#!/sbin/sh # PM script # Usage pm_check.sh [save|check] DATE=`date '+%y%m%d` OUTPUT="Sytem_Check_${DATE}.out" OUTPUT_WORK="/tmp/hp/pm_check/output" CHECK_SAVE=${OUTPUT_WORK}"/check_save" FIND_WORD="err|war|vmunix|corr|fail|fault|unexpected|lvm|kill|full|scsi|ems" # SAVE MODE if [[ $1 = "save" ]] then echo "Current Information Save ... " echo "1%--------------------50%--------------------- 100%" mkdir -p ${OUTPUT_WORK}/${DATE} echo "${OUTPUT_WORK}/${DATE}" > ${OUTPUT_WORK}/last_config_save kctune > ${OUTPUT_WORK}/${DATE}/kctune.out 2> /dev/null ; echo "#\c" kctune |grep -i lcpu > ${OUTPUT_WORK}/${DATE}/ht_status.out 2> /dev/null ; echo "#\c" kcmodule > ${OUTPUT_WORK}/${DATE}/kcmodule.out 2> /dev/null ; echo "#\c" kcusage > ${OUTPUT_WORK}/${DATE}/kcusage.out 2> /dev/null ; echo "#\c" swlist -l product > ${OUTPUT_WORK}/${DATE}/swlist_product.out 2> /dev/null ; echo "#\c" swlist -l bundle > ${OUTPUT_WORK}/${DATE}/swlist_bundle.out 2> /dev/null ; echo "#\c" parstatus > ${OUTPUT_WORK}/${DATE}/parstatus.out 2> /dev/null ; echo "#\c" vparstatus > ${OUTPUT_WORK}/${DATE}/vparstatus.out 2> /dev/null ; echo "#\c" icapstatus > ${OUTPUT_WORK}/${DATE}/icapstatus.out 2> /dev/null ; echo "#\c" machinfo > ${OUTPUT_WORK}/${DATE}/machinfo.out 2> /dev/null ; echo "#\c" dmesg |grep -i Physical: > ${OUTPUT_WORK}/${DATE}/memory_info.out 2> /dev/null ; echo "#\c" ioscan -fnk > ${OUTPUT_WORK}/${DATE}/ioscan_fnk.out 2> /dev/null ; echo "#\c" ioscan -fnkCprocessor > ${OUTPUT_WORK}/${DATE}/ioscan_processor.out 2> /dev/null ; echo "#\c" if [[ `uname -r` = "B.11.31" ]] then ioscan -fnkNCdisk > ${OUTPUT_WORK}/${DATE}/ioscan_disk.out 2> /dev/null ; echo "#\c" else ioscan -fnkCdisk > ${OUTPUT_WORK}/${DATE}/ioscan_disk.out 2> /dev/null ; echo "#\c" fi ioscan -fnkClan > ${OUTPUT_WORK}/${DATE}/ioscan_lan.out 2> /dev/null ; echo "#\c" ioscan -fnkCtape > ${OUTPUT_WORK}/${DATE}/ioscan_tape.out 2> /dev/null ; echo "#\c" ioscan -fnkCfc > ${OUTPUT_WORK}/${DATE}/ioscan_fc.out 2> /dev/null ; echo "#\c" ioscan -fnkCfc |grep -i "\/dev" |awk {'print "fcmsutil " $1'} |sh > ${OUTPUT_WORK}/${DATE}/fcmsutil.out 2> /dev/null ; echo "#\c" swapinfo -tm > ${OUTPUT_WORK}/${DATE}/swapinfo_tm.out 2> /dev/null ; echo "#\c" swapinfo -tm |egrep -v "Mb|TYPE" |awk {'print $1","$2","$9'} > ${OUTPUT_WORK}/${DATE}/swapinfo_tm_d.out 2> /dev/null crashconf -v > ${OUTPUT_WORK}/${DATE}/crashconf_v.out 2> /dev/null ; echo "#\c" crashconf -v |grep \/ > ${OUTPUT_WORK}/${DATE}/crashconf_v_d.out 2> /dev/null bdf > ${OUTPUT_WORK}/${DATE}/bdf.out 2> /dev/null ; echo "#\c" df > ${OUTPUT_WORK}/${DATE}/df.out 2> /dev/null cat /etc/mnttab |awk {'print $1$2$3$4$5$6'} |sort -n > ${OUTPUT_WORK}/${DATE}/mnttab.out 2> /dev/null ; echo "#\c" netstat -in > ${OUTPUT_WORK}/${DATE}/netstat_in.out 2> /dev/null ; echo "#\c" netstat -in | awk {'print $1","$2","$3","$4'} |sort -n > ${OUTPUT_WORK}/${DATE}/netstat_in_d.out 2> /dev/null ; echo "#\c" netstat -rn > ${OUTPUT_WORK}/${DATE}/netstat_rn.out 2> /dev/null ; echo "#\c" netstat -in |grep -i lan |grep -v : |grep -v lan90|cut -b4-5 |sed 's/*//'|awk {'print "echo lan"$1";lanadmin -x "$1'}|sh > ${OUTPUT_WORK}/${DATE}/interface.out 2> /dev/null ; echo "#\c" netstat -in |grep -i lan90 |cut -b4-6 |sed 's/*//'|awk {'print "echo lan"$1";lanadmin -x -v "$1'}|sh > ${OUTPUT_WORK}/${DATE}/interface_apa.out 2> /dev/null ; echo "#\c" cat /etc/rc.config.d/nddconf |grep -i NDD_NAME |grep -v "#"|awk -F= {'print $2'} |grep ^tcp | awk {' print "echo \""$1" :\c\";ndd -get /dev/tcp "$1'} |sh >> ${OUTPUT_WORK}/${DATE}/ndd_get.out 2> /dev/null ; echo "#\c" cat /etc/rc.config.d/nddconf |grep -i NDD_NAME |grep -v "#"|awk -F= {'print $2'} |grep ^udp | awk {' print "echo \""$1" :\c\";ndd -get /dev/udp "$1'} |sh >> ${OUTPUT_WORK}/${DATE}/ndd_get.out 2> /dev/null ; echo "#\c" cat /etc/rc.config.d/nddconf |grep -i NDD_NAME |grep -v "#"|awk -F= {'print $2'} |grep ^socket | awk {' print "echo \""$1" :\c\";ndd -get /dev/sockets "$1'} |sh >> ${OUTPUT_WORK}/${DATE}/ndd_get.out 2> /dev/null ; echo "#\c" lanscan -q > ${OUTPUT_WORK}/${DATE}/lanscan_q.out 2> /dev/null ; echo "#\c" 2> /dev/null ; echo "#\c" 2> /dev/null ; echo "#\c" 2> /dev/null ; echo "#\c" vgdisplay -v > ${OUTPUT_WORK}/${DATE}/vgdisplay_v.out 2> /dev/null ; echo "#\c" vgdisplay -v vg00 |grep -i "LV Name" |awk {'print "lvdisplay "$3'} |sh > ${OUTPUT_WORK}/${DATE}/lvdisplay_vg00.out 2> /dev/null ; echo "#\c" lvlnboot -v > ${OUTPUT_WORK}/${DATE}/lvlnboot_v.out 2> /dev/null ; echo "#\c" setboot > ${OUTPUT_WORK}/${DATE}/setboot.out 2> /dev/null ; echo "#\c" strings /etc/lvmtab > ${OUTPUT_WORK}/${DATE}/lvmtab.out 2> /dev/null ; echo "#\c" authck -p -v > ${OUTPUT_WORK}/${DATE}/trust_check.out 2> /dev/null ; echo "#\c" ovpa status > ${OUTPUT_WORK}/${DATE}/ovpa_status.out 2> /dev/null ; echo "#\c" ps -ef > ${OUTPUT_WORK}/${DATE}/ps.out 2> /dev/null ; echo "#\c" if [ -f /etc/cmcluster/cmclconfig ] then cmviewcl > ${OUTPUT_WORK}/${DATE}/cmviewcl.out 2> /dev/null ; echo "#\c" cmviewcl -v > ${OUTPUT_WORK}/${DATE}/cmviewcl_v.out 2> /dev/null ; echo "#\c" fi ll /dev/null > ${OUTPUT_WORK}/${DATE}/dev_null_permission.out 2> /dev/null ; echo "#\c" ll /dev/async > ${OUTPUT_WORK}/${DATE}/dev_null_permission.out 2> /dev/null ; echo "#\c" echo " Done" echo "\n\nCurrent Information ${OUTPUT_WORK}/${DATE}/ Save Complete .. " fi # # MODEL CHECK if [[ `uname -m` = "ia64" ]] then cut_count=`model |wc -w` _MODEL=`model | cut -f ${cut_count} -d " "` else _MODEL=`model | cut -f 3 -d/` fi # MODEL CHECK END parstatus_check() { /usr/sbin/parstatus > ${CHECK_SAVE}/parstatus.out 2> /dev/null echo " ########################### parstatus ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cat ${CHECK_SAVE}/parstatus.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/parstatus.out ${CHECK_SAVE}/parstatus.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null if [ $? -eq 0 ] then CHECK="OK" else CHECK="Please Check the parstatus.out" fi } vparstatus_check() { /usr/sbin/vparstatus > ${CHECK_SAVE}/vparstatus.out 2> /dev/null echo " ########################### vparstatus ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cat ${CHECK_SAVE}/vparstatus.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/vparstatus.out ${CHECK_SAVE}/vparstatus.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null if [ $? -eq 0 ] then CHECK="OK" else CHECK="Please Check the vparstatus.out" fi } machinfo_check() { /usr/contrib/bin/machinfo > ${CHECK_SAVE}/machinfo.out 2> /dev/null echo " ########################### machinfo ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cat ${CHECK_SAVE}/machinfo.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/machinfo.out ${CHECK_SAVE}/machinfo.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null if [ $? -eq 0 ] then CHECK="OK" else CHECK="Please Check the machinfo.out" fi } disk_check() { if [[ `uname -r` = "B.11.31" ]] then ioscan -fnkNCdisk > ${CHECK_SAVE}/ioscan_disk.out 2> /dev/null else ioscan -fnkCdisk > ${CHECK_SAVE}/ioscan_disk.out 2> /dev/null fi echo " ########################### ioscan disk ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cat ${CHECK_SAVE}/ioscan_disk.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/ioscan_disk.out ${CHECK_SAVE}/ioscan_disk.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null if [ $? -eq 0 ] then CHECK="OK" else CHECK="Please Check the ioscan_disk.out" fi ODISKCOUNT=`cat ${LAST_SAVE}/ioscan_disk.out |grep -i "\/dev\/" |egrep -v "_p1|s1" |wc -l` CDISKCOUNT=`cat ${CHECK_SAVE}/ioscan_disk.out | grep -i "\/dev\/" |egrep -v "_p1|s1" |wc -l` } nohw_check() { ioscan -fnk > ${CHECK_SAVE}/ioscan_fnk.out 2> /dev/null echo " ########################### ioscan fnk ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cat ${CHECK_SAVE}/ioscan_fnk.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/ioscan_fnk.out ${CHECK_SAVE}/ioscan_fnk.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null if [ $? -eq 0 ] then CHECK="OK" else CHECK="Please Check the ioscan_fnk.out" fi } lan_check() { ioscan -fnkClan > ${CHECK_SAVE}/ioscan_lan.out 2> /dev/null echo " ########################### ioscan lan ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cat ${CHECK_SAVE}/ioscan_lan.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/ioscan_lan.out ${CHECK_SAVE}/ioscan_lan.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null if [ $? -eq 0 ] then CHECK="OK" else CHECK="Please Check the ioscan_lan.out" fi } fc_check() { ioscan -fnkCfc > ${CHECK_SAVE}/ioscan_fc.out 2> /dev/null echo " ########################### ioscan FC ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cat ${CHECK_SAVE}/ioscan_fc.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/ioscan_fc.out ${CHECK_SAVE}/ioscan_fc.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null OFCCOUNT=`cat ${LAST_SAVE}/ioscan_fc.out |egrep -i "\/dev" |wc -l` CFCCOUNT=`ioscan -fnkCfc |grep -i "\/dev" |wc -l` OONCOUNT=`cat ${LAST_SAVE}/fcmsutil.out |grep -i ONLINE |wc -l` CONCOUNT=`ioscan -fnkCfc |grep -i "\/dev" |awk {'print "fcmsutil " $1'} |sh |grep -i ONLINE |wc -l` if [ $? -eq 0 ] then CHECK="OK" else CHECK="Please Check the ioscan_fc.out" fi } kernel_check() { kctune > ${CHECK_SAVE}/kctune.out 2> /dev/null echo " ########################### Kctune ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cat ${CHECK_SAVE}/kctune.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/kctune.out ${CHECK_SAVE}/kctune.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null if [ $? -eq 0 ] then CHECK="OK" else CHECK="Please Check the kctune.out" fi } ndd_check() { if [ `cat /etc/rc.config.d/nddconf |wc -l` -gt 60 ] then > ${CHECK_SAVE}/ndd_get.out echo " ########################### ndd -get ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cat /etc/rc.config.d/nddconf |grep -i NDD_NAME |grep -v "#"|awk -F= {'print $2'} |grep ^tcp | awk {' print "echo \""$1" :\c\";ndd -get /dev/tcp "$1'} |sh >> ${CHECK_SAVE}/ndd_get.out 2> /dev/null cat /etc/rc.config.d/nddconf |grep -i NDD_NAME |grep -v "#"|awk -F= {'print $2'} |grep ^udp | awk {' print "echo \""$1" :\c\";ndd -get /dev/udp "$1'} |sh >> ${CHECK_SAVE}/ndd_get.out 2> /dev/null cat /etc/rc.config.d/nddconf |grep -i NDD_NAME |grep -v "#"|awk -F= {'print $2'} |grep ^socket | awk {' print "echo \""$1" :\c\";ndd -get /dev/sockets "$1'} |sh >> ${CHECK_SAVE}/ndd_get.out 2> /dev/null cat ${CHECK_SAVE}/ndd_get.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/ndd_get.out ${CHECK_SAVE}/ndd_get.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null if [ $? -eq 0 ] then CHECK="OK" else CHECK="Please Check the ndd_get.out" fi else CHECK="/etc/rc.config.d/nddconf not configure , network Parameter Default" fi } fs_check() { bdf > ${CHECK_SAVE}/bdf.out 2> /dev/null df > ${CHECK_SAVE}/df.out 2> /dev/null echo " ########################### Filesystem bdf ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out bdf >> ${OUTPUT_WORK}/all_${DATE}.out cat /etc/mnttab |awk {'print $1$2$3$4$5$6'} |sort -n > ${CHECK_SAVE}/mnttab.out 2>/dev/null diff ${LAST_SAVE}/mnttab.out ${CHECK_SAVE}/mnttab.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null if [ $? -eq 0 ] then CHECK="OK" else CHECK="Please Check the bdf.out" fi } lan_interface() { netstat -in |grep -i lan |grep -v : |grep -v lan90|cut -b4-5 |sed 's/*//'|awk {'print "echo lan"$1";lanadmin -x "$1'}|sh > ${CHECK_SAVE}/interface.out netstat -in |grep -i lan90 |cut -b4-6 |sed 's/*//'|awk {'print "echo lan"$1";lanadmin -x -v "$1'}|sh > ${CHECK_SAVE}/interface_apa.out echo " ########################### Network Interface ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cat ${CHECK_SAVE}/interface.out >> ${OUTPUT_WORK}/all_${DATE}.out cat ${CHECK_SAVE}/interface_apa.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/interface.out ${CHECK_SAVE}/interface.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null && LAN_INT_CHK="OK" || LAN_INT_CHK="Please Check Interface.." diff ${LAST_SAVE}/interface_apa.out ${CHECK_SAVE}/interface_apa.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null && LAN_INT_CHK_APA="OK" || LAN_INT_CHK_APA="Please Check APA Interface" } net_check() { echo " ########################### Network Configuration ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out netstat -in > ${CHECK_SAVE}/netstat_in.out netstat -in | awk {'print $1","$2","$3","$4'} |sort -n > ${CHECK_SAVE}/netstat_in_d.out cat ${CHECK_SAVE}/netstat_in.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/netstat_in_d.out ${CHECK_SAVE}/netstat_in_d.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null && CHECK="OK" || CHECK="Please Check Network Config" } net_route_check() { netstat -rn > ${CHECK_SAVE}/netstat_rn.out cat ${CHECK_SAVE}/netstat_rn.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/netstat_rn.out ${CHECK_SAVE}/netstat_rn.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null && CHECK="OK" || CHECK="Please Check Network Routing Configuration" } vg_check() { echo " ########################### VolumeGroup Configuration ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out vgdisplay -v > ${CHECK_SAVE}/vgdisplay_v.out 2> /dev/null cat ${CHECK_SAVE}/vgdisplay_v.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/vgdisplay_v.out ${CHECK_SAVE}/vgdisplay_v.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null && CHECK="OK" || CHECK="Please Check Volume Group Configuration" } vg00_lvol_check() { vgdisplay -v vg00 |grep -i "LV Name" |awk {'print "lvdisplay "$3'} |sh > ${CHECK_SAVE}/lvdisplay_vg00.out 2>/dev/null cat ${CHECK_SAVE}/lvdisplay_vg00.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/lvdisplay_vg00.out ${CHECK_SAVE}/lvdisplay_vg00.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null && CHECK="OK" || CHECK="Please Check Root Volume Group LVOL" } swap_check() { echo " ########################### Swap & DUmp Configuration ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out swapinfo -tm |egrep -v "Mb|TYPE" |awk {'print $1","$2","$9'} > ${CHECK_SAVE}/swapinfo_tm_d.out 2>/dev/null swapinfo -tm >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/swapinfo_tm_d.out ${CHECK_SAVE}/swapinfo_tm_d.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null && CHECK="OK" || CHECK="Please Check Swap Configuration" } dump_check() { crashconf -v |grep \/ > ${CHECK_SAVE}/crashconf_v_d.out 2>/dev/null crashconf -v >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/crashconf_v_d.out ${CHECK_SAVE}/crashconf_v_d.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null && CHECK="OK" || CHECK="Please Check Dump Configuration" } mcsg_check() { echo " ########################### MC/SG Cluster Configuration ########################### " >> ${OUTPUT_WORK}/all_${DATE}.out cmviewcl -v > ${CHECK_SAVE}/cmviewcl_v.out 2>/dev/null cat ${CHECK_SAVE}/cmviewcl_v.out >> ${OUTPUT_WORK}/all_${DATE}.out diff ${LAST_SAVE}/cmviewcl_v.out ${CHECK_SAVE}/cmviewcl_v.out >> ${OUTPUT_WORK}/all_${DATE}.out 2> /dev/null && CHECK="OK" || CHECK="Please Check MC/SG Configuration" } perm_check(){ FFILE=`ll ${1} |awk {'print $1$2$3$4$5$6'}` if [[ "${FFILE}" = "${2}" ]] then CHECK="OK" else CHECK="Please Check Permission.." fi } # PM CHECK START if [[ $1 = "check" ]] then mkdir -p ${CHECK_SAVE} > ${OUTPUT_WORK}/all_${DATE}.out LAST_SAVE=`cat ${OUTPUT_WORK}/last_config_save` echo " ** UPTIME [ `uptime` ] ** " echo " ** Current DATE [ `date` ] ** " echo " PM Script phase 1 .... [ H/W Check ] " if [[ ${_MODEL} = "SD32A" || ${_MODEL} = "SD32B" || ${_MODEL} = "SD64A" || ${_MODEL} = "16s" || ${_MODEL} = "rp8420" ]] then echo "+-+- Parstatus Check \t\t\t: \c" parstatus_check echo $CHECK else echo " +- Parstatus Check \t\t\t: Skip.." fi if [ -f /usr/sbin/vparstatus ] then echo " +- vParstatus Check \t\t\t: \c" vparstatus_check echo $CHECK else echo " +- vParstatus Check \t\t\t: Skip.." fi if [[ `uname -m` = "ia64" ]] then echo " +- IA MachineInfo Check \t\t: \c" machinfo_check echo $CHECK else echo " +- IA MachineInfo Check \t\t: Skip .." fi echo " +- Proceesor Count Check \t\t: \c" CCPU=`ioscan -fnkCprocessor |grep -i processor |wc -l` OCPU=`cat ${LAST_SAVE}/ioscan_processor.out |grep -i processor |wc -l` echo "[ ${OCPU} core ==> ${CCPU} core ] " echo " +- Memory Size Check \t\t\t: \c" if [[ `uname -m` = "ia64" ]] then CMEM=`machinfo |grep -i memory` OMEM=`cat ${LAST_SAVE}/machinfo.out |grep -i memory` echo "[ ${OMEM} ] ==> [ ${CMEM} ] " else CMEM=`dmesg |grep -i Physical: |awk {'print $2'}` OMEM=`cat ${LAST_SAVE}/memory_info.out |grep -i Physical: |awk {'print $2'}` echo "[ ${OMEM} ] ==> [ ${CMEM} ] " fi echo " +- Disk Check \t\t\t: \c" disk_check echo "$CHECK [ ${ODISKCOUNT} ] ==> [ ${CDISKCOUNT} ]" echo " +- LAN Interface Check \t\t: \c" lan_check echo $CHECK echo " +- FC Interface Check \t\t: \c" fc_check echo "${CHECK} [ TOTAL FC : ${OFCCOUNT} ==> ${CFCCOUNT} ] [ ONLINE FC : ${OONCOUNT} ==> ${CONCOUNT} ]" echo " +- NO Hardware Check \t\t\t: \c" nohw_check echo $CHECK echo "\n PM Script phase 2 .... [ System configuration Check ] " echo "+-+- Kernel Parameter Check \t\t: \c" kernel_check echo $CHECK echo " +- Network Parameter Check \t\t: \c" ndd_check echo $CHECK echo " +- File System Check \t\t\t: \c" fs_check echo $CHECK echo " +- Network Interface Check \t\t: \c" lan_interface echo $LAN_INT_CHK echo " +- Network APA Interface Check \t: \c" echo $LAN_INT_CHK_APA echo " +- Network Configuration Check \t: \c" net_check echo $CHECK echo " +- Network Routing Table Check \t: \c" net_route_check echo $CHECK echo " +- VolumeGroup Configuration Check \t: \c" vg_check echo $CHECK echo " +- vg00 lvol Configuration Check \t: \c" vg00_lvol_check echo $CHECK echo " +- Swap Configuration Check \t\t: \c" swap_check echo $CHECK echo " +- Dump Configuration Check \t\t: \c" dump_check echo $CHECK if [ -f /etc/cmcluster/cmclconfig ] then echo " +- MC/SG Cluster Configuration Check \t: \c" mcsg_check echo $CHECK else echo " +- MC/SG Cluster Configuration Check \t: No Cluster" fi echo " +- /dev/null Permission Check \t: \c" perm_check "/dev/null" "crw-rw-rw-1binbin30x000002" echo $CHECK echo " +- /dev/async Permission Check \t: \c" perm_check "/dev/null" "crw-rw-rw-1binbin1010x000000" echo $CHECK echo " +- ntp Configuration Check \t\t: \c" if [[ `ntpq -p |egrep -v "remote|=" |awk {'print $7'} |head -1` -eq 377 ]] then echo "OK" else echo "Please Check NTP Configuration" fi echo " +- Software Product Check \t\t: \c" if [ `swlist -a state -l fileset|grep -vE "^#|^$|configured" |wc -l` -gt 0 ] then echo "Please Check Software Porudct... swlist_config.out" swlist -a state -l fileset|grep -vE "^#|^$|configured" > ${CHECK_SAVE}/swlist_config.out 2> /dev/null else echo "OK" fi echo "\n PM Script phase 3 .... [ System LOG Check ] " echo "+-+- EMS Message Check \t\t\t: " /opt/sfm/bin/evweb eventviewer -L |head -10 echo "\n \t Display Detail : /opt/sfm/bin/evweb eventviewer -E -n EvArchNo" echo "\n +- Syslog Message Check \t\t\t: " YDATE=`TZ=KST+15 date '+%b %d'` TDATE=`date '+%b %d'` cat /var/adm/syslog/syslog.log | egrep -i "${YDATE}|${TDATE}" |egrep -i "${FIND_WORD}" > ${CHECK_SAVE}/syslog_check.out 2> /dev/null CHECK_LINE=`cat ${CHECK_SAVE}/syslog_check.out|wc -l` echo "\tWords list = ${FIND_WORD}" echo "\tFound ${CHECK_LINE} line.. Please Check ${CHECK_SAVE}/syslog_check.out" echo "\tDisplay last 20 line\n" tail -20 ${CHECK_SAVE}/syslog_check.out echo "\n +- rc.log Error Check \t\t\t: " echo "--------------------------------------------------------------------------------------" cat /etc/rc.log |egrep -i "fail|fault|error|warning" echo "--------------------------------------------------------------------------------------" echo "\n +- dmesg Check \t\t\t: " echo "--------------------------------------------------------------------------------------" dmesg |tail -30 echo "--------------------------------------------------------------------------------------" fi