2016.02.04 11:39
백업을 받을 폴더를 먼저 생성합니다.
# mkdir /backup
/root 폴더에 backup.sh 라는 파일을 만들고 아래의 내용을 추가합니다.
================================================================
#!/bin/bash
/usr/local/server/mysql/bin/mysqldump -uroot -p비밀번호 mysql > /backup/mysql_db_bak_$(date +%Y%m%d).sql
/usr/local/server/mysql/bin/mysqldump -uDB계정 -p비밀번호 DB계정 > /백업경로/백업파일명_db_bak_$(date +%Y%m%d).sql
mv *.sql /이동경로
tar cvfpz 압축파일명.tar.gz /압축된 백업파일 저장위치
find /backup -ctime +5 -exec rm -f {} \;
================================================================
위의 내용을 다시 설명하겠습니다.
================================================================
#!/bin/bash à 쉘 스크립트를 생성
/usr/local/server/mysql/bin/mysqldump -uroot -p비밀번호 mysql > /backup/mysql_db_bak_$(date +%Y%m%d).sql à mysql이 설치된 곳에 mysqldump를 이용하여 백업 진행
mv *.sql /이동경로 à 모든 .sql 파일을 이동 경로로 옮김
tar cvfpz 압축파일명.tar.gz /압축된 백업파일 저장위치 à 백업 완료 된 파일을 tar로 압축하여 지정한 위치에 저장
find /backup -ctime +5 -exec rm -f {} \; à 날짜를 체크하여 5일이 지난 파일은 삭제
================================================================
이후 백업 스크립트 파일에 권한을 부여합니다.
# chmod 100 /root/backup.sh
à 권한을 100으로 부여하여 다른 사용자들이 수정하지 못하게 합니다.
위의 내용을 crontab에 작업을 명시합니다.
# crontab -e
===================
00 03 * * * /root/backup.sh
===================
예를 들어 매일 새벽 3시에 /root/backup.sh을 실행하도록 설정하였습니다.
위의 crontab 설정 후 /var/spool/cron 폴더안에 root 파일이 있다면 정상적으로 설정된 것입니다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
5 | [mysql] 작은 용량의 파일 로드 속도가 느려진 경우 | 호스트웨이 | 2015.09.22 | 7104 |
4 | MYSQL 접속 - 소켓 지정하여 접속하기 | 호스트웨이 | 2015.09.23 | 58367 |
3 | DB접속시 DNS 관련 오류 | 호스트웨이 | 2015.09.25 | 18276 |
2 | [Oracle] 대량 자료 조회 Parallel | 호스트웨이 | 2015.09.26 | 7244 |
» | MySQL Bash 스크립트를 활용한 로컬 백업 | 호스트웨이 | 2016.02.04 | 12402 |