#!/usr/bin/ksh
trap 'echo " deleting tmp file " ; rm -f "/tmp/item" "$logdir/mon/tmp_file" "$logdir/mon/proc_list" ' EXIT
# define log file name
logdir="./mon"
#delete proc list
rm -rf "$logdir/mon"
mkdir -p "$logdir"
mkdir -p "$logdir/mon"
# generate process list
case `uname -s` in
AIX)
ps -e -o "user,pcpu,vsz,comm" | grep -v "<" | grep -v "ps" | grep -v "USER" | grep -v "grep" > "$logdir/mon/proc_list"
;;
Linux)
ps -e -p "user,pcpu,vsz,comm" | grep -v "<" | grep -v "ps" | grep -v "USER" | grep -v "grep" > "$logdir/mon/proc_list"
;;
HP-UX)
ps -e -o "user,pcpu,vsz,comm" | grep -v "<" | grep -v "ps" | grep -v "USER" | grep -v "grep" > "$logdir/mon/proc_list"
;;
SunOS)
ps -e -o "user,pcpu,vsz,comm" | grep -v "<" | grep -v "ps" | grep -v "USER" | grep -v "grep" > "$logdir/mon/proc_list"
;;
esac
case "$1" in
-user)
mon_file="$logdir/`hostname`_user_status_`date +%y%m%d`.log"
awk '{print $1}' "$logdir/mon/proc_list" | sort | uniq | while read line
do
echo "$line" > "/tmp/item"
grep "$line" "$logdir/mon/proc_list" | awk 'BEGIN{cpu=0;mem=0;cpu_sum=0;mem_sum=0;getline d < "/tmp/item"}
{
cpu=$2;
mem=$3;
cpu_sum=cpu_sum+cpu;
mem_sum=mem_sum+mem;
}
END{
printf("%s %2.1f %2.1f\n",d,cpu_sum,mem_sum);
}' >> "$logdir/mon/tmp_file"
done
;;
-proc)
mon_file="$logdir/`hostname`_ps_status_`date +%y%m%d`.log"
awk '{print $4}' "$logdir/mon/proc_list" | sort | uniq | while read line
do
echo "$line" > "/tmp/item"
grep "$line" "$logdir/mon/proc_list" | awk 'BEGIN{cpu=0;mem=0;cpu_sum=0;mem_sum=0;getline d < "/tmp/item"}
{
cpu=$2;
mem=$3;
cpu_sum=cpu_sum+cpu;
mem_sum=mem_sum+mem;
}
END{
printf("%s %2.1f %2.1f\n", d,cpu_sum,mem_sum);
}' >> "$logdir/mon/tmp_file"
done
;;
*)
echo "please enter the right option [-user:-proc]"
exit 0
;;
esac
# print log file
sort -rnk 2 "$logdir/mon/tmp_file"|awk 'BEGIN{"date +%H%M%S"| getline d}{if (length($1)!=100) print d" "$0}' >> "$mon_file"
echo "" >> "$mon_file"
'Etc' 카테고리의 다른 글
[ubuntu] 우분투 기본 설정 및 명령어 (0) | 2020.09.08 |
---|---|
[Script] shell if문 옵션(if문옵션 - eq,ne,ge,gtle,lt) (0) | 2020.07.18 |
[Tool] Dell Server H/W 모니터링 툴(OMSA)_점검용 (0) | 2020.07.15 |
[Tool] Dell Server H/W 모니터링 툴(OMSA)_통합용 (0) | 2020.07.15 |
[Script] Unix 시스템 점검 스크립트 (0) | 2010.10.01 |