특정 폴더의 내용을 주기적으로 압축하기 in 윈도우, 7zip > etc

본문 바로가기
사이트 내 전체검색

etc

특정 폴더의 내용을 주기적으로 압축하기 in 윈도우, 7zip

페이지 정보

작성자 서방님 댓글 2건 조회 162회 작성일 10-03-26 10:27

본문

지금은 대만에 출장중이다. 월요일에 도착해서 지금까지 매일같이 비가 오는 것이나,
인도를 점령한 가계들 때문에 위태위태하게 차도로 걸어다니는 상황도 아직은 신기하다.
이제 갓 4일째인걸..

대만에서 해야하는 작업 중 대부분은 작업 내용의 설치이지만, 일부 개발도 해야 하는데
본사와 소스세이프가 연동되지 않기 때문에 현지에서 작업중인 내용을 TortoiseSVN을 이용해서
관리하고 있다.

그것만으로 조금 부족해서, Repository의 내용을 원할 때 마다 백업 받아두기 위해서 배치 파일을
만들기로 했다. SVN 특징상 Repository 폴더만 압축해 놓으면, 어느 곳에서나 작업한 내용을
확인하기 편하기 때문이다. 압축 프로그램은 7zip을 사용하기로 하고, 옵션을 찾아봤다.
(7zip은 다양한 명령행 옵션을 지원한다) 헌데, 가장 골치썩은 부분은 다름아닌 시간을 얻는 일이었다.

나는 백업 파일명으로 백업을 받은 날짜와 시간이 포함되길 원했다.
시간을 얻기 위한 윈도우의 기본 명령은 datetime이 있다. 날짜와 시간을 한번에 얻는 명령이
없다는 것에 새삼 놀라며, /t 옵션으로 다음과 같은 결과를 얻는데 까지는 성공했다.

C:\ date /t
2007-11-06

C:\ time /t
오후 10:37

나는 오후 10:37 말고 22:37:02 형식을 원했다. 하지만, 초는 결국 얻을 수 없었고 24시간 형태의 시간은
시스템 설정을 변경해서 겨우 얻을 수 있었다.

윈도우 시간을 24시간 형식으로 변경하기.
  윈도우의 기본 명령중 하나인 time은 시간을 변경할 때 사용하는 명령이다.
  '제어판' > '국가 및 언어 옵션' 열기
  '국가별 옵션' 탭 > '사용자 지정' 버튼 클릭
  '시간' 탭 > '시간 형식'에서 tt h:mm:ss를 H:mm:ss로 수정 하고 '확인'

 C:\ time /t
10:41

이렇게 얻은 내용들로 아래 배치파일을 만들었다.

ECHO OFF
SET src="./c:\repo\*
SET dst=c:\
SET zipCmd="C:\Program Files\7-Zip\7z.exe" a -tzip

FOR /F "tokens=1,2,3 delims=: " %%i in ('time /t') do set time_=%%i%%j%%k
%zipCmd% "%dst%backup_%date% %time_%.zip" %src%

일정 주기로 배치파일을 실행시키기 위해서 작업 등록을 한다.

at 11:00 /every:m,t,w,th,f "C:\ZipRepo.bat"

위의 명령은 월,화,수,목,금요일 11시에 C:\ZipRepo.bat를 실행하도록 작업을 등록하는 명령이다.


배치파일을 자주 만드는 편이 아니어서 한 삽질도 있지만, 별로 난이도 있는 작업이 아닌데
여기저기 2시간 정도 웹을 뒤지게 만든 윈도우가 미워보이는 하루였다.

 

 

출처 : http://hayani.tistory.com/search/7zip

댓글목록

등록된 댓글이 없습니다.

Total 143건 1 페이지
게시물 검색

회원로그인

접속자집계

오늘
44
어제
58
최대
1,347
전체
153,808
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.