윈도우 에서 mysqldump 를 사용한 백업 스크립트
참조 : http://hancem.tistory.com/4
REM - 주석을 의미함
forfiles - 파일 또는 집합을 선택하고 파일에 명령을 실행한다.
/P pathname 검색을 시작할 경로를 지정합니다. 현재 작업 디렉터리(.)가 기본폴더입니다.
/M searchmask 검색 마스크에 따라 파일을 검색합니다. '*'이 기본 검색 마스크입니다.
/S 하위 폴더를 포함하도록 지정합니다. 예, "DIR /S"
/C command 각 파일에 실행할 명령을 지정합니다. 명령 문자열을 큰따옴표로 묶어야 합니다.
"cmd /c echo @file"이 기본 명령입니다. 명령 문자열에 다음 변수를 사용할 수 있습니다.
@file - 파일 이름을 반환합니다.
@fname - 확장명 없이 파일 이름을 반환합니다.
@ext - 파일의 확장명만 반환합니다.
@path - 파일의 전체 경로를 반환합니다.
@relpath - 파일의 상대 경로를 반환합니다.
@isdir - 파일 형식이 디렉터리인 경우 "TRUE"를 반환하고 파일인 경우 "FALSE"를 반환합니다.
@fsize - 파일의 크기(바이트)를 반환합니다.
@fdate - 파일을 마지막으로 수정한 날짜를 반환합니다.
@ftime - 파일을 마지막으로 수정한 시간을 반환합니다.
/D date 지정한 날짜와 마지막 수정한 날짜가 늦거나 같은(+) 또는 빠르거나 같은(-) 파일을 찾습니다.
날짜 형식은 "yyyy-MM-dd"입니다. 또한 마지막 수정한 날짜가 현재 날짜에 "dd"일을 더한 날짜보다 늦거나
같은 (+) 또는 현재 날짜에서 "dd"일을 뺀 날짜보다 작거나 같은(-) 파일을 찾습니다.
유효한 "dd" 범위는 0에서 32768까지입니다. 부호를 지정하지 않으면 "+"가 기본값입니다.
@echo off REM Set some variables set YEAR=%date:~0,4% set MONTH=%date:~5,2% set DAY=%date:~8,2% set HOUR=%time:~0,2% set MINUTE=%time:~3,2% set hh1=%HOUR:~0,1% set hh2=%HOUR:~1,1%
if "%hh1%" == " " set HOUR=0%hh2%
set DATETIME=%YEAR%%MONTH%%DAY%
set mysqlpwd="패스워드" set mysqlconnect=%mysqlcmd% -u root --password=%mysqlpwd% set mysqldumper="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe" -x -u root --password=%mysqlpwd% set backupdir="D:\mysql_backup" set logfile="D:\mysql_backup\logs\%DATETIME%_db_backup.log"
date /t > %logfile% time /t >> %logfile% echo Starting Script Run >> %logfile%
for /f %%i in ('"%mysqlconnect% -e "show databases" --skip-column-names"') do (
echo ---------------------------------------------- >> %logfile% date /t >> %logfile% time /t >> %logfile% echo Now Backup for %%i >> %logfile%
)
|
'shell script' 카테고리의 다른 글
awk 싱글쿼터 (0) | 2012.06.26 |
---|---|
[shell script] unixtime 변경 명령어 (0) | 2011.12.27 |
[shell] md_recover.sh (0) | 2010.04.28 |