Linux DB

백업을 받을 폴더를 먼저 생성합니다.

# 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 파일이 있다면 정상적으로 설정된 것입니다.