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