강좌 & 팁
글 수 2,412
2012.03.10 15:12:54 (*.52.177.29)
45916
저번 시간에 작업 스케줄러에 대해서 소개를 했었습니다.
어떻게 사용할지에 대한 예가 조금 부족한 것 같아
이번시간엔 제가 사용하는 방법을 예를 들어 보겠습니다.
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);" : 실행 시킬 커맨드
위와같이 백업과 삭제를 스케줄러에 등록 시켜 놓으면 관리가 편해 지겠지요. ^^
잘 활용 하시어 귀찮을 일에서 해방 되십시요.
감사합니다.