1. 개요
ser_cnt.lst에 있는 내용을 불러와서 process 상태 확인 → ftp로 log 전송
2. ser_cnt.lst 파일 내용
scsi:66
watchdog:2
3. Source Code
#!/bin/sh LOGDIR="/home/tuser/log/process2.log" echo echo "===== check service process =====" echo for sname in $(cat ./ser_cnt.lst | awk -F: '{print $1}') do pscnt=`ps -ef | grep $sname | grep -v grep | grep -v "@" | wc -l` sernum=`grep $sname ./ser_cnt.lst | awk -F: '{print $2}'` echo "\n* $sname Process count : $pscnt (std : $sernum)" if [ $pscnt != $sernum ]; then echo "* $sname check result : bad.." echo "* $sname check result : bad.." >> $LOGDIR elif [ $pscnt = $sernum ]; then echo "* $sname check result : GOOD!" echo "* $sname check result : GOOD!" >> $LOGDIR fi done echo "=========================================" if [ -s $LOGDIR ]; then echo "점검 로그가 존재합니다. 로그를 상위 서버로 전송합니다." ftp -n 172.16.60.129 <<End-Of-Session user user user binary bell cd /home/user lcd /home/tuser/log put process2.log quit End-Of-Session rm -f $LOGDIR else echo "점검 로그가 존재하지 않습니다. 로그를 전송하지 않습니다." fi