본문 바로가기

Windows

윈도우 백업 스크립트 // bat 파일 만들기

10:40:49 PM
widows 백업스크립트 // bat 파일 만들기


**데이타 복사 배치파일

디렉토리 제거
forfiles /p z:\backup\APM_Setup /d -5 /c "cmd /c rmdir /s /q @file"    

파일 제거
forfiles /p z:\backup\APM_Setup /d -5 /c "cmd /c del /s /q @file"

(/d -5 옵션은 수정한 날짜 기준으로 삭제가 됩니다.)

날짜별 파일만들기

mkdir z:\backup\APM_Setup\%date%



백업위치의 파일을 지정위치로 복사 ( *.* 넣어주어야만 됨 )

xcopy c:\APM_Setup\*.* z:\backup\APM_Setup\%date% /e /h /k



[참고1]
넷드라이브 고정시켜놓고 xcopy 명령 한줄만 사용해도 됩니다.
고정시 원본서버 공유디렉토리 허용인원 1명으로 해놓으면 보안상 좋습니다.

[참고2]
금일 날짜로 디렉토리 및 파일 생성시 : %date%
 
[참고3]
오래된 파일 삭제
forfiles /p d:\test /d -7 /c "cmd /c rmdir /s /q @file" : 디렉토리 삭제
forfiles /p d:\test /d -7 /c "cmd /c del /s /q @file" : 파일 삭제
/p : 삭제대상 디렉토리 (지정한 디렉토리 하위 디럭토리부터 삭제)
/d : 보관일수 (7일 이상지난 폴더 삭제)
※ 디렉토리 삭제시 /p에서 지정한 디렉토리 밑에 파일이 있을경우, 삭제가 되지 않습니다.
     (날짜별로 하위폴더 생성 뒤 백업해 놓아야 합니다.)
     => 디렉토리와 파일을 다 같이 지우려면 두줄 다 사용해야 합니다.
※ 매개변수 오류가 나타날 경우 폴더명 앞뒤로 쌍따옴표를 붙여줍니다.
    예) "C:\Program Files (x86)\Folders\Database" e:\backup\%date%
 
[참고4]
파일을 압축 보관할 경우
- 우선 7zip 프로그램를 설치 합니다.
- 아래 스크립트를 참고하여 수정을 하면 됩니다.

xcopy /E /S /Y /D /I c:\APM_Setup\Server\MySQL5\data\* d:\backup\mysql_data\%date%
cd C:\Program Files\7-Zip
7z.exe a d:\backup\mysql_data\mysql%date%.zip d:\backup\mysql_data\%date%
del -r d:\backup\mysql_data\%date%
forfiles /p D:\backup\mysql_data /d -7 /c "cmd /c del /s /q @file"
 
 ★ 넷드라이브 연결 후 xcopy 명령을 수행할때
      파일이 많은경우 복사할 파일이 없어도 느린경우가 있습니다.
      이경우 옵션을 바꾸어주면 파일 체크는 1초내에 끝내며 복사되지 않은 파일만 복사합니다.
      예) xcopy /E /S /Y /D /I Z:\*.* E:\copyfolder // 이게 느릴경우 (테스트시 속도가 느리고 트래픽도 1.8배 많이 발생)
            xcopy /A /D /Q /H Z:\*.* E:\copyfolder // 이렇게 합니다.