sh 백업파일 만들기
본문
#!/bin/sh
#실행시각
NOW_DATE=`date`
#백업날짜
#BACKUP_DATE=`date +"%Y%m%d-%H%M%S"`
BACKUP_DATE=`date +"%Y%m%d"`
#웹루트
WWWROOT_DIR=/home/users/2/zeronara/web
#백업파일을 저장할 경로
BACKUP_DIR=${WWWROOT_DIR}/backup
#날짜폴더 생성
if [ ! -d ${BACKUP_DIR}/${BACKUP_DATE} ]; then
mkdir ${BACKUP_DIR}/${BACKUP_DATE}
fi
MKDIR=${BACKUP_DIR}/${BACKUP_DATE}
#MySQL백업
mysqldump -hlocalhost -u_test1 -ptest1pw _test1 > ${MKDIR}/${BACKUP_DATE}_test1.sql
mysqldump -hlocalhost -u_test2 -ptest2pw _test2 > ${MKDIR}/${BACKUP_DATE}_test2.sql
#웹소스백업
HOME_DIR=`/bin/ls -t ${WWWROOT_DIR} 2>/dev/null`
for DIR in $HOME_DIR ; do
tar zcvf ${MKDIR}/${BACKUP_DATE}_${DIR}.gz ${WWWROOT_DIR}/${DIR} --exclude=${BACKUP_DIR}/*
rm -rf ${MKDIR}/${BACKUP_DATE}_backup.gz
rm -rf ${MKDIR}/${BACKUP_DATE}_404.html.gz
rm -rf ${MKDIR}/${BACKUP_DATE}_index.html.gz
rm -rf ${MKDIR}/${BACKUP_DATE}_db_backup.sh.gz
done
#소유주 및 권한변경(타 계정의 접근 차단용)
#chown -R root.root ${BACKUP_DIR}
#chmod -R 700 ${BACKUP_DIR}
# 오래된 백업데이터 삭제(14일 이상 된 것)
find ${BACKUP_DIR} -mindepth 1 -maxdepth 1 -mtime +14 -type d -exec rm -rf {} \;
#메일 발송 (수신메일추가는 공백으로 구분하여 마지막에 열거)
echo "백업시각: ${BACKUP_DATE}\n백업경로: ${BACKUP_DIR}\n\n위와 같이 DB와 웹파일이 백업되었습니다." | mail -a "From:서버관리자 <[email protected]>" -s "자동서버백업안내" [email protected]
exit 0
댓글목록 0
등록된 댓글이 없습니다.