BATCH 파일을 이용한 MySQL 백업 및 파일 정리

아래와 같은 스크립트를 통해 데이터베이스 백업과 기존 파일 삭제 프로세스를 구동 할 수 있다.
Batch 파일을 생성한 이후에 윈도우 작업 스케줄에 포함 시키면 끝

작업 스케쥴러에 포함하기

제어판 – 관리도구 – 작업 스케쥴러 – 기본 작업 만들기
기본 작업 만들기 마법사를 따라 시간 및 주기를 설정함.
작업은 프로그램 시작으로 설정하고 프로그램 찾아보기를 클릭하여 BAT 파일을 선택합니다.



웹 서비스에 별도의 스레드를 가동하여 처리 하려고 했는데 너무 쉽게 처리를 할 수 있는 방법을 배워버렸습니다… Shell 을 이용하는 방법에 대해 공부를 해야 할 것 같습니다. Shell Programming도 아마 무궁 무진 하지만 간단하게 어떻게 사용하는지 그리고 다른 사람이 프로그래밍한 것을 읽을 수 있게 하면 될 것 같습니다.


@echo off
echo Running dump...
REM 파일명으로 사용하기 위해 시간을 구한다. yyyy-MM-dd_hhmmss
set createTime=%date%_%time:~0,2%%time:~3,2%%time:~6,2%

mysqldump -u[사용자아이디] -p[비밀번호] --databases [DB명] -r [저장경로]\%createTime%.sql

REM sql 파일 용량을 줄이기 위해 압축
7z a %createTime%.zip %createTime%.sql

REM 압축 후 SQL 파일 삭제
del %createTime%.sql

REM 이전 파일들을 삭제하는 프로세스 시작
REM 파일 삭제 기간
set day=-365
echo before %day% day ago files deleting ...

REM TEMP 디렉토리에 있는 1년전 파일들을 삭제한다. 파일들을 삭제한다.
forfiles /p D:\TEMP /m *.sql /d %day% /c "cmd /c del @file"

echo before %day% day ago files deleting finish
echo Done!