본문 바로가기
system

xe 백업 및 mysql DB 백업 스크립트

본문

OS : Linux 6.6 ~ 6.7 버전

APM : RPM 버전으로 설치

이 스크립트를 사용하기전 준비해야할 사항

밑에 있는 백업스크립트를 그냥 사용하면 정상적으로 백업이 진행되지않습니다.
만약 사용하신다면 변경하셔야 할 사항은 아래와 같습니다.

실제로 사용하고 있는 xe 홈페이지 디렉토리로 변경
xe=”/home/xe/xe”

xe 백업파일을 저장할 디렉토리로 변경하고 백업 디렉토리를 생성합니다.
xeback=”/usr/local/src/xe_backup” 

# mkdir /usr/local/src/xe_backup
# mkdir /usr/local/src/xe_backup/xe  – xe 디렉토리가 tar.gz로 되어 저장됨
# mkdir /usr/local/src/xe_backup/DB – DB가 sql파일로 저장됨

가상서버의 경우 드라이브가 sda가 아닌 vda로 되어있는경우가 있습니다. 확인하고 변경하세요.
hdduse=`df -Th |grep sda1 |awk ‘{print $6}’ |sed s/%//` 

DB 백업의 경우 xeuser passwd1, passwd2를 수정하셔야합니다. 스크립트를 사용하기 전에
mysqldump를 따로 사용해보신후 정상적으로 DB가 백업이 되는지도 확인을 해보셔야합니다.
만약 xe를 설치시 root로 DB를 지정하셨다면 xeuser의 줄은 주석처리하거나 삭제를 진행하시면 됩니다.

mysqldump -u’root’ -p’passwd1′ -A > ${xeback}/DB/${sysdate}_root_backup.sql
mysqldump -u’xeuser’ -p’passwd2′ -A > ${xeback}/DB/${sysdate}_xeuser_backup.sql

vi /etc/crontab에 스크립트를 등록합니다. 작동할 시간과 날짜를 정하고 등록시키면 원하는 시간대에
스크립트가 동작하게 됩니다. 저의 경우 매주 월요일 1시 10분에 동작이 되도록 설정해놨습니다. 

10 1 * * 1 root sh /usr/local/src/xe_backup.sh

 

 

#!/bin/sh
xe=”/home/xe/xe”
xeback=”/usr/local/src/xe_backup”
sysdate=`date +%Y-%m-%d`
START=`date +%Y-%m-%d-%H%M`
hdduse=`df -Th |grep sda1 |awk ‘{print $6}’ |sed s/%//`

if [ “$hdduse” -lt “80” ]
then
echo “하드디스크 사용량 80% 이하 확인 백업 시작”

# XE 디렉토리 백업
tar cvfz ${xeback}/xe/${sysdate}_xe.tar.gz ${xe}

# DB 백업
mysqldump -u’root’ -p’passwd1′ -A > ${xeback}/DB/${sysdate}_root_backup.sql
mysqldump -u’xeuser’ -p’passwd2′ -A > ${xeback}/DB/${sysdate}_xeuser_backup.sql

# 백업 기록 남기기
echo “” >> /var/log/backup.log
echo “=========================================================================================” >> /var/log/backup.log
echo $START >> /var/log/backup.log
echo “=========================================================================================” >> /var/log/backup.log
echo “xe 백업 및 DB 백업 완료” >> /var/log/backup.log
echo “” >> /var/log/backup.log
echo “” >> /var/log/backup.log
echo “xe 용량 확인” >> /var/log/backup.log
cd ${xeback}/xe/
du -shc * >> /var/log/backup.log
echo “” >> /var/log/backup.log
echo “DB 용량 확인” >> /var/log/backup.log
cd ${xeback}/DB/
du -shc * >> /var/log/backup.log

echo “백업 종료”

else
if [ “$hdduse” -gt “80” ]
then
echo “하드디스크 사용량이 너무 높아서 백업 불가”
fi
fi

 

스크립트 사용시 나오는 결과

스크린샷, 2016-02-11 11:55:00

 

처음 서버의 용량을 확인후 “하드디스크 사용량 80% 이하 확인 백업 시작” 메세지를 띄운뒤
작업이 시작되고 백업이 완료된 화면입니다.

 

스크2

 

백업이 완료되면 DB의 경우 DB 디렉토리에 XE 디렉토리의 경우 xe 디렉토리에 저장됩니다.
경로는 설정해두신 xeback의 경로입니다.

 

스크3

DB (root 및 xe DB)

스크4

xe 디렉토리

 

스크5

 

스크립트가 실행되고 정상적으로 백업이 완료되면 /var/log/backup.log에서 백업사항을 확인할수있습니다. 

워드프레스 백업에도 사용이 가능할것같지만 그 부분은 실험후 차후 수정하도록하겠습니다. 

0 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

최고관리자 (211.♡.243.196) 작성일17-06-23 16:14 조회230회 댓글0건

댓글목록

등록된 댓글이 없습니다.

system 목록

게시물 검색

사이트 정보

  • 회사명 회사명 / 대표 대표자명
  • 주소 OO도 OO시 OO구 OO동 123-45
  • 사업자 등록번호 123-45-67890
  • 전화 02-123-4567 / 팩스 02-123-4568
  • 통신판매업신고번호 제 OO구 - 123호
  • 개인정보관리책임자 정보책임자명

고객센터

  • 02-1234-5678
  • abc@abc.com
  • 월-금 am 11:00 - pm 05:00
  • 점심시간 : am 12:00 - pm 01:00
  • 주말&공휴일은 1:1문의하기를 이용하세요.
상단으로