살군의 보조기억 장치

Another memory device…

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

with one comment

트랙백을 어떻게 하는지 몰라… 일단 긁어넣습니다. 혹시 저작권에 문제가 있으면 알려주세요.

원본주소: http://seobangnim.com/zbxe/?document_srl=18292&mid=Etc&sort_index=readed_count&order_type=desc

 

———————— 원본 글 —————————

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

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

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

나는 백업 파일명으로 백업을 받은 날짜와 시간이 포함되길 원했다.
시간을 얻기 위한 윈도우의 기본 명령은 date와 time이 있다. 날짜와 시간을 한번에 얻는 명령이
없다는 것에 새삼 놀라며, /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시간 정도 웹을 뒤지게 만든 윈도우가 미워보이는 하루였다.

Advertisements

Written by gomiski

2012/10/08 at 8:10 am

Posted in General, Lecture

One Response

Subscribe to comments with RSS.

  1. SVN 서버를 구성하고… 매일 백업해주는 걸로 맞추려고 하니…
    간단하게 짤까? 하다가 우연히 발견한 주옥같은글.

    이 배치로 윈도 스케줄러 돌리면 모두 해결!

    salkuma

    2012/10/08 at 8:12 am


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: