posted by 은이종 2015. 6. 30. 10:19

각 Client 서버 내 conf 백업 스크립트 생성


ex) conf_Backup.sh


===========================================================

#!/bin/sh
 
# 6/25 rsync
/bin/mkdir -p /tmp/conf_empty
  
CODE=`hostname awk -F- '{print $1}'`
HOST=`hostname`
SERVER_IP=`/sbin/ifconfig eth0 | grep "inet addr" cut -d: -f2 | awk '{printf $1}'`
DATE0=$(date +%Y%m%d)
RSYNC_TS_IP=0.0.0.0 
# Conf Backup 서버 IP를 설정
 
for TYPE in apache tomcat nginx
do
  if [ -d /app/$TYPE ]
  then
        # mkdir
        /usr/bin/rsync -a /tmp/conf_empty/ $RSYNC_TS_IP::MW-CONF/${CODE}/
        /usr/bin/rsync -a /tmp/conf_empty/ $RSYNC_TS_IP::MW-CONF/${CODE}/${HOST}_${SERVER_IP}/
        /usr/bin/rsync -a /tmp/conf_empty/ $RSYNC_TS_IP::MW-CONF/${CODE}/${HOST}_${SERVER_IP}/${DATE0}/
        /usr/bin/rsync -a /tmp/conf_empty/ $RSYNC_TS_IP::MW-CONF/${CODE}/${HOST}_${SERVER_IP}/${DATE0}/${TYPE}/ 
 
    if [ $TYPE = tomcat ]
    then
        # Tomcat
        /usr/bin/rsync -avzP /app/$TYPE/bin/startsvr_*.sh $RSYNC_TS_IP::MW-CONF/${CODE}/${HOST}_${SERVER_IP}/${DATE0}/${TYPE}/
        for INSTANCE in `/bin/ls /app/$TYPE/ | grep svr_`
        do
            /usr/bin/rsync -avzP /app/$TYPE/${INSTANCE}/conf/server.xml $RSYNC_TS_IP::MW-CONF/${CODE}/${HOST}_${SERVER_IP}/${DATE0}/${TYPE}/${INSTANCE}/
        done
    else
        # Apache, Nginx
        /usr/bin/rsync -avzP /app/$TYPE/conf/httpd.conf $RSYNC_TS_IP::MW-CONF/${CODE}/${HOST}_${SERVER_IP}/${DATE0}/${TYPE}/
        /usr/bin/rsync -avzP /app/$TYPE/conf/extra/*.conf $RSYNC_TS_IP::MW-CONF/${CODE}/${HOST}_${SERVER_IP}/${DATE0}/${TYPE}/
    fi
  fi
done
 
/bin/rm -rf /tmp/conf_empty

=========================================================================================


특이사항 

1. rsync로는  1Depth 디렉토리 뿐이 생성을 하지 못한다

그래서 /tmp/conf_empty 폴더를 만들어서 옮기는 Tip을 이용하여

여러 depth 의 경로를 만들었다.


apache, tomcat, nginx 등은

/app/ 절대경로가 같아서 해당 스크립트로 생성하여 사용



'Web/WAS' 카테고리의 다른 글

cronolog symblic log 설정  (0) 2015.04.24
Advanced Rest Client (크롬 플러그인)  (0) 2014.11.26
WAS 란  (0) 2013.01.09