반응형
#!/usr/bin/ksh #기록파일의 초기화 cat /dev/null > CoreList.lst cat /dev/null > Core_Batch_List.lst #반복작업 while true do #파일 감시 -f 파일여부 if [ -f /bin/core ] then sleep 5 #명령어를 실행전에 더미로 한번씩 더 실행함 file /bin/core filename=`file /bin/core | awk '{print substr($7,4,length($7)-4)}'` echo "core file:" $filename chmod 777 /bin/core date +%H_%M_%S_%Y_%m_%d core_name="/bin/core-real-"$filename"-"`date +%Y%m%d-%H%M%S` mv core $core_name ls -alt core-* |awk '{print $9}'| awk -F"-" '{ printf("%s %s %s %s %s\n", $4, $2, $5, $0, $3);}' >> CoreList.lst echo "bt" | gdb -c $core_name $filename |grep "#" > ./GDB/GDB_SERVER_$filename.rlt mv core-* CORE_DUMP/SERVER/. fi if [ -f /batch/bin/core ] then file /batch/bin/core filename=`file /batch/bin/core | awk '{print substr($7,4,length($7)-4)}'` echo "core file:" $filename chmod 777 /batch/bin/core date +%H_%M_%S_%Y_%m_%d core_name="/batch/bin/core-real-${filename}-`date +%Y%m%d-%H%M%S`" mv /batch/bin/core /batch/bin/$core_name ls -alt core-* |awk '{print $9}'| awk -F"-" '{ printf("%s %s %s %s %s\n", $4, $2, $5, $0, $3);}' >> /bin/Core_Batch_List.lst echo "bt" | gdb -c /batch/bin/$core_name /batch/bin/$filename |grep "#" > ./GDB/GDB_BATCH_$filename.rlt mv /batch/bin/core-* CORE_DUMP/BATCH/. fi sleep 1 done
ksh 와 여러커맨드를 이용하면, 간단하게 이런기능이 가능한거임 ..
ksh, echo, date, gdb, grep, file, mv, 그리고 유닉스의 파이프를 이용한 예제(?)
다른분이 후딱 쓰신거 공부겸 주석달음
반응형