똑똑해진느낌/MySQL

[MySQL] 데이터베이스 백업 스케줄링 (mysqldump)

찐쿵 2019. 8. 26. 14:03

1. 명령어

mysqldump -u유저 -p비밀번호 --result-file="c:\backup.sql" 데이터베이스명

2. 배치파일 적용

@echo off
echo DB Backup Start ...

FOR /F "tokens=1-3 delims=- " %%a IN ('DATE /T') DO (SET dt=%%a-%%b-%%c)
FOR /F "tokens=1-4 delims=:." %%a IN ('ECHO %TIME%') DO (SET tm=%%a%%b%%c%%d)
SET backupfilename=%dt%_%tm%.sql

"c:\Program Files\MySQL\MySQL Server 8.0\bin\"mysqldump -u유저명 -p비밀번호 --result-file="c:\db_%backupfilename%" 데이터베이스명
echo DB Backup Done !!!

3. 배치파일 실행결과

4. 30일 경과된 백업파일 삭제 기능 추가

FORFILES /P "c:\bakcup" /S /M *.sql /D 30 /C "cmd /c del @file"

5. 스케줄러 담기 (매 월요일,금요일 오후 8시에 실행)

at 20:00 /every:M,F c:\backup\test.bat