티스토리 뷰

[Shell Script] 로그 포맷 생성




변수명=`명령어`




변수명=$(명령어)






STR 이라는 변수가 있을 경우 STR+= 를 이용하면 내용을 이어서 붙일 수 있다.




최종출력에서 변수 앞뒤로 큰따옴표를 붙여야 한줄로 나오지 않고 원본과 동일하게 출력된다.


ex) echo -e "$STR"


줄바꿈을 하려면 -e 옵션을 추가한다.






#!/bin/sh




datetime=`date +%Y%m%d`




if [ ! -d /nas/xmerce/ozmnc/upload/check_server/$datetime ]; then


mkdir /nas/xmerce/ozmnc/upload/check_server/$datetime


fi




STR=$(echo "\n###################################장비명####################################\n")


serverName=`/usr/sbin/dmidecode | grep "Product Name:"`


STR+=$(echo "$serverName\n")


STR+=$(echo "#############################################################################\n")




STR+=$(echo "###################################좀비프로세스체크##########################\n")


zombieCheck=`ps -ef | grep defunct | grep -v grep | wc -l`


STR+=$(echo "$zombieCheck\n")


STR+=$(echo "#############################################################################\n")




STR+=$(echo "###################################방화벽상태################################\n")


ipTables=`/sbin/iptables -nL | grep tcp`


STR+=$(echo "$ipTables\n")


STR+=$(echo "#############################################################################\n")




STR+=$(echo "###################################하드용량##################################\n")


hardCheck=`df`


STR+=$(echo "$hardCheck\n")


STR+=$(echo "#############################################################################\n")




STR+=$(echo "###################################아이피####################################\n")


serverIp=`/sbin/ip addr | grep "inet " | grep brd | awk '{print $2}' | awk -F/ '{print $1}'`


STR+=$(echo "$serverIp\n")


STR+=$(echo "#############################################################################\n")






STR+=$(echo "##################################아파치프로세스(수)#########################\n")


httpdCnt=`ps aux | grep httpd | wc -l`


STR+=$(echo "$httpdCnt\n")


STR+=$(echo "#############################################################################\n")




STR+=$(echo "##################################메모리#####################################\n")


MemCheck=`ps -eo user,pid,rss,pmem,pcpu,cmd,comm --sort -rss | head -n 10`


STR+=$(echo "$MemCheck\n")


STR+=$(echo "#############################################################################\n")




#STR+=$(echo "##################################최근접속자#################################\n")


#secureLogin=`last -n 10`


#STR+=$(echo "$secureLogin\n")


#STR+=$(echo "#############################################################################\n")




echo -e "$STR" > /home/ozmnc/upload/check_server/$datetime/128.txt




출처: http://ff2400.tistory.com/entry/리눅스-echo-를-변수에-담기 [소근소근]


댓글