유지보수를 하다보면 DB자동백업을 요청 받는 일이 많다.
나중에 또 찾아보지 않기 위해서 작성해놓으려 한다.
자동으로 DB 백업파일을 만들기 위한 작업이다.
$ mysqldump -uroot -p1234 디비명 > 파일명.sql
해당위치에 작성한 파일명으로 파일이 만들어 진다.
Bash shell script
백업 쉘 만들기
vi db_backup.sh
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR=/home/test/
mysqldump -u root -p1234 디비명 > $BACKUP_DIR"파일명_"$DATE.sql
BACKUP_DIR에 파일이 저장될 경로를 써주어 파일명 앞에 경로를 설정해주었고
해당날짜를 파일명 끝에 적기 위해서 $(date +%Y%m%d) 로 년월일을 DATE값에 넣어서 파일명에 붙여주었다.
위에 같이 쉡파일을 만들면 /home/test/ 밑에 파일명_해당날짜.sql로 덤프를 만들겠다는 뜻이다.
작업 명령 이용 방법
* * * * * /home/test/db_backup.sh
*하나하나가 분 시간 날짜 달 요일 이다. 구분은 Space로 한다.
요일은 1부터 월요일이고 6이 토요일 이다.
$crontab -e
crontab -e 해서 수정 삭제 등록 가능하다
아래와 같이 크론식 맞춰서 적어주면
30 2 * * 6 /home/test/db_backup.sh
내용을 입력하세요.
매주 토요일 오전 2:30분에 실행한다는 뜻
cron 등록 확인
$ crontab -l
하면 정상적으로 스케쥴이 등록되어서 덤프가 떠지는 것을 확인 할 수 있다.