mysql DB 백업 스케줄러 crontab

2tsumo·2022년 5월 30일
0

linux

목록 보기
1/4

유지보수를 하다보면 DB자동백업을 요청 받는 일이 많다.
나중에 또 찾아보지 않기 위해서 작성해놓으려 한다.
자동으로 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

하면 정상적으로 스케쥴이 등록되어서 덤프가 떠지는 것을 확인 할 수 있다.

profile
👨‍💻

0개의 댓글