sitelink1  
sitelink2  
sitelink3  
extra_vars6  

TFS 백업 데이터를 압축해서 FTP서버에 올려두고 원본은 네트웍 드라이브에 폴더를 생성하여 한시적(10일)으로 보관하는 스크립트를 작성하였다

FTP 접속과 ZIP 압축은 별도의 프리웨어를 이용하였고 나머지 동작은 VBS와 DOS쉘로만 구성된 프로그램이다

프로그램을 살펴보고 싶다면 첨부파일을 다운로드한다 -> TfsCloudBackup.zip

 

다음은 쉘프로그램의 내용이다

 

REM Start Batch
GOTO INIT

 

:INIT
REM 1. Initializing batch. 네트웍 드라이브를 연결하고 각종 환경변수를 설정한다
NET USE X: \\[네트웍 드라이브IP주소]\tfsbackup /user:[계정ID] [계정비번]
SET PATH_BACKUP=D:\TfsDataBackup
SET PATH_LOCAL_BACKUP_REPO=X:\tfs_backup

for /F "tokens=1,2,3 delims=-" %%I IN ('cscript /nologo expireDate.vbs') do SET PATH_DEL_DATE=%%I%%J%%K
for /F "tokens=1,2,3 delims=-" %%I IN ('echo %date%') do SET PATH_DATE=%%I%%J%%K
SET PATH_LOCAL_BACKUP=%PATH_LOCAL_BACKUP_REPO%\%PATH_DATE%
IF NOT EXIST %PATH_LOCAL_BACKUP% MKDIR %PATH_LOCAL_BACKUP%

SET PATH_CURRENT=%CD%

SET PATH_LOG=%PATH_CURRENT%\log
SET PATH_7ZIP=%PATH_CURRENT%\zip
SET PATH_FTP=%PATH_CURRENT%\ftp

SET PATH_7ZIP_EXE=%PATH_7ZIP%\7z.exe
SET PATH_FTP_EXE=%PATH_FTP%\WinSCP.com

SET FTP_CMD=FTP_INFO.txt
SET BACKUP_NAME=TFS_DB_BACKUP.zip

SET FTP_FILE=%PATH_CURRENT%\%FTP_CMD%
SET BACKUP_FILE=%PATH_BACKUP%\%BACKUP_NAME%

ECHO open ftp://[계정ID]:[계정비번]@[FTP서버IP주소]:[포트번호]> "%FTP_FILE%"
ECHO cd TFS_BACKUP>> "%FTP_FILE%"
ECHO binary>> "%FTP_FILE%"
ECHO put %BACKUP_FILE%>> "%FTP_FILE%"
ECHO bye>> "%FTP_FILE%"
GOTO COMPRESS_FILES

 

:COMPRESS_FILES
REM 2. Compressing Backup Files. 지정한 경로의 파일들을 압축한다
"%PATH_7ZIP_EXE%" a "%BACKUP_FILE%" "%PATH_BACKUP%\*.*"
IF EXIST "%BACKUP_FILE%" GOTO SEND_FILE
GOTO BATCH_FAILED

 

:SEND_FILE
REM 3. Save compressed file to FTP server. FTP 서버로 압축 파일을 전송한다
"%PATH_FTP_EXE%" /script="%FTP_FILE%"
GOTO BATCH_SUCCESSED

 

:BATCH_SUCCESSED
REM 4. Batch Processing has been succeeded. 배치 성공을 확인한다
GOTO DEINIT

 

:BATCH_FAILED
REM 4. Batch Processing has been failed. 배치 실패를 확인한다
GOTO DEINIT

 

:DEINIT
REM 5. Deinitializing batch. 배치가 완료된후 로컬의 압축 파일을 지운다 
DEL "%BACKUP_FILE%"
DEL "%FTP_FILE%"
REM 5-1. Moving Backuped Files. TFS백업 파일을 네트웍 드라이브로 옮긴다
ROBOCOPY  "%PATH_BACKUP%" "%PATH_LOCAL_BACKUP%" * /MOV /XF *.xml
COPY "%PATH_BACKUP%\BackupSets.xml" "%PATH_LOCAL_BACKUP%"
COPY "%PATH_BACKUP%\BackupSettings.xml" "%PATH_LOCAL_BACKUP%"

REM 5-2. Deleting Expired Backup File. 네트웍 드라이브에 저장한 백업 파일중 유효기간이 지난 파일은 삭제한다
RMDIR /S /Q "%PATH_LOCAL_BACKUP_REPO%\%PATH_DEL_DATE%"
NET USE X: /d

 

:BATCH_END
REM 6. End of Batch

 

 

2017.11.25

  - 배치 프로그램의 작업 순서에 문제가 있어서 수정 작업을 하였다

  - 다운로드 : TfsDataBackupShell.7z

번호 제목 sitelink1 글쓴이 날짜 조회 수
28 명령어 모음   황제낙엽 2023.05.06 0
27 XCOPY - 하위 디렉토리까지 포함, 모든 파일 복사 예제 http://mwultong.blogspot.com/2006/10/copy-xcopy-dos.html  황제낙엽 2022.02.08 17
26 네트웍 연결/해제 CLI 명령어 (bat - 배치 파일) file   황제낙엽 2022.01.16 10
25 윈도우즈 콘솔 에뮬레이터 cmder file https://webdir.tistory.com/548  황제낙엽 2021.02.03 13
24 문자열 치환하여 변수에 저장 https://blog.naver.com/digitalog/221488405815  황제낙엽 2020.05.21 200
23 도스, 환경변수 http://egloos.zum.com/sirjhswin/v/2371970  황제낙엽 2020.05.21 23
22 [도움말 캡쳐] FOR   황제낙엽 2020.05.21 18
21 [도움말 캡쳐] IF   황제낙엽 2020.05.21 168
20 [도움말 캡쳐] SET   황제낙엽 2020.05.21 21
19 [문법] 배치 명령어 기초 작성법 file https://www.snoopybox.co.kr/1404  황제낙엽 2020.05.21 40
18 도스 배치 사용법 https://sh1n2.tistory.com/entry/DOS-%EB%...9%EC%96%B4  황제낙엽 2020.05.21 19
17 문서 파일의 내용을 쉘프로그램 변수에 담기   황제낙엽 2020.05.21 18
16 시스템 오류 1219이(가) 생겼습니다. (net use) file   황제낙엽 2020.03.13 427
15 [윈도우10] '이 항목을 찾을 수 없습니다'라고 뜨면서 폴더삭제가 안 돼요 https://kin.naver.com/qna/detail.nhn?d1i...jemg%3D%3D  황제낙엽 2018.08.07 906
14 [문법] DOS 명령어   황제낙엽 2017.11.25 93
13 BAT 파일에 접근 권한 부여하기 (cacls) file http://cecildesk.tistory.com/entry/Windo...0%EB%95%8C  황제낙엽 2017.11.07 2033
12 윈도우 서비스 시작 중지 명령어 file   황제낙엽 2017.11.07 217
11 java 프로그램을 주기적으로 실행하는 배치 예제   황제낙엽 2017.08.22 67
» 네트워크 드라이브 + ZIP압축 + FTP접속 + 파일카피 + 파일삭제 예제 file   황제낙엽 2016.08.19 127
9 디렉토리, 파일명 목록 txt 로 저장하기   황제낙엽 2016.07.07 129