백업환경 구축

백업환경에 대한 설명없이 스크립트만 넣은것 같아서 몇자 적어봅니다.

저희집에는 아래의 그림처럼 가상화 서버(vmware)에 Xpenology, CentOS, Ubuntu 서버가 설치되어 있습니다.

웹서버 컨텐츠 및 서버설정정보, DB서버에 대해서 Cold백업 받아서 헤놀로지의 파일시스템으로 보관하게 구성하였습니다.

동일 서버내에 있어서 네트워크 속도가 빠르고요, Samba는 서버들간의 파일공유가 쉽다는 이점이 있습니다.

아래의 구조는  몇년전  모 연구기관에서도 사용했던 시스템 구조입니다.

그룹웨어, ERP, 통합문서관리, 특허, 기술이전, 공동/위탁 등 시스템간 파일을 공유하기 위해서  NAS의 Samba 공유폴더를 사용했었습니다.

보안에는 취약하나 저희집 백업환경으로 사용해 봤습니다.

samba 클라이언트 설치

ㅇ CenOS7
#yum install -y samba-client.x86_64
#yum install -y cifs-utils.x86_64

ㅇ Ubuntu
#sudo apt-get install samba-client
#sudo apt-get install cifs-utils

공유 폴더 확인

#smbclient -L <Server IP> -U <사용자ID>

samba 디렉토리 mount

#mkdir /backup
#sudo mount -t cifs \\\\<Server IP>\\폴더 /backup -o user=<User ID>,vers=2.0,uid=1000

백업 script

#!/bin/bash
#특정폴더 백업
tar -czpf /backup/<백업파일명>.`date +%Y%m%d%H%M%S`.tgz /home/<백업폴더> 1>/dev/null 2>/dev/null

#mysql백업
mysqldump -u<사용자ID> -p<패스워드> --all-databases > /backup/파일명.`date +%Y%m%d%H%M%S`.sql

#오래된 백업파일 삭제(30일이전)
find /backup/ -type f -mtime +30 | sort | xargs rm -f

cron 설정

#매일 새벽0시 0분에 수행 
0 0 * * * /home/chohi/backup.sh

자동실행

##CentOS 7
#/etc/rc.local 파일에 추가
mount -t cifs \\\\<Server IP>\\폴더 /backup -o user=<사용자ID>,password=<패스워드>,vers=2.0,uid=1000
##Ubuntu 
#!/bin/sh

case $1 in

start)
mount -t cifs \\\\<Server IP>\\폴더 /backup -o user=<사용자ID>,password=<패스워드>,vers=2.0,uid=1000 ;;
stop)
umount /backup ;;

restart)
umount /backup
mount -t cifs \\\\<Server IP>\\폴더 /backup -o user=<사용자ID>,password=<패스워드>,vers=2.0,uid=1000 ;;

esac

exit 0
##/etc/init.d/xxx.sh 스크립트 추가후 755 퍼미션을 준다.


##rc.d에 실행 스크립트추가
#sudo update-rc.d xxx.sh defaults

You May Also Like

About the Author: chohi

답글 남기기

이메일 주소는 공개되지 않습니다.