저번 시간에 작업 스케줄러에 대해서 소개를 했었습니다.

어떻게 사용할지에 대한 예가 조금 부족한 것 같아

이번시간엔 제가 사용하는 방법을 예를 들어 보겠습니다. 

 

1.MySQL의 데이터베이스를 매월 첫번째 일요일 오전 00:01분에 백업하는 예제

  1-1. 스케줄러 등록 커멘드

SCHTASKS /Create /SC MONTHLY /MO first /D SUN /ST 00:01 /TN MySQL_BackUp /TR D:\db_bakup\bakup.bat

 [풀이]

  /Create : 스케줄러 신규

  /SC MONTHLY : 매월

  /MO fist : 첫번째

  /D SUN : 일요일

  /ST 00:01 : 스타트 시간은 오전00:01분

  /TN MySQL_BackUp : 스케줄러 이름

  /TR D:\db_bakup\bakup.bat : 실행할 프로그램의 경로 및 파일 이름

  

  1-2.bakup.bat 배치파일 내용

@echo off
echo Start Bakup...
mysqldump -u사용자명 -p비밀번호 --result-file="D:\db_bakup\backup.%date%.sql" 데이터베이스명
echo End Bakup...

 

 

 

2.위에서 백업을 한후 현시점으로해서 1개월 이전의 데이터를 매월 첫번째 일요일 오전 00:10분에 지우기 예제

  2-1. 스케줄러 등록 커멘드

SCHTASKS /Create /SC MONTHLY /MO first /D SUN /ST 00:10 /TN MySQL_Delete /TR D:\db_bakup\data_del.bat

[풀이]

1.번과 동일

 

 

  2-2. data_del.bat 배치파일 내용

mysql -u유저ID -p유저패스워드 데이터베이스명 -e "delete from 테이블명 where 날짜컬럼 <= date_sub(curdate(), INTERVAL 1 MONTH);"

 [풀이]

-e "delete from 테이블명 where 날짜컬럼 <= date_sub(curdate(), INTERVAL 1 MONTH);" : 실행 시킬 커맨드

 

위와같이 백업과 삭제를 스케줄러에 등록 시켜 놓으면 관리가 편해 지겠지요. ^^

잘 활용 하시어 귀찮을 일에서 해방 되십시요.

감사합니다.