7-zip 7Z와 Windows 작업스케줄러로 자동압축 스크립트 배치파일 만들어서 정기적으로 자동 백업받는 방법

 

예전에는 dos상에서 arj, zip 등으로 압축을 했었지만, winzip, winrar, 알집, 빵집 등의 그래픽기반의 프로그램이 나오면서 이제는 도스상에서 압축을 하라고하면 인터넷을 찾아보지 않고는 못하게되더군요.

도스상에서 압축을 해서 뭐 딱히 장점이 있는것은 아니지만, 스크립트를 만들어서 배치파일로 bat로 저장해서 한번만 클릭하면 윈도우상에서 클릭을 여러번하는것에 비해서 정말 편리합니다.

거기다가 저장되어 있기때문에 언제든지 batch파일 한번만 실행을 하면 되고요...

hotkeyboard와같이 특정 시간에 특정 프로그램을 실행시킬수 있는 프로그램이 있다면 매일 새벽마다 중요 자료를 자동으로 백업 받아서 ftp나 다른 서버에 저장을 해놓을수도 있으니 참 편리하지요.

저도 소스때문에 이렇게 배치파일로 자동으로 소스와 중요한 자료를 압축해서 저장해놓는데, 기존에 사용하던것이 날라가서 다시금 만들면서 혹시나 도움될 분이 있을까해서 포스팅을 해봅니다.

제가 하려는 작업은 특정 디렉토리의 파일들을 배치파일을 한번 실행하면 자동으로 오늘 날짜로 백업을 받도록 하는것입니다.

위에서 잠깐 언급한 hotkeyboard와 같은 프로그램을 이용하거나 윈도우에 보조프로그램 -> 시스템도구 -> 작업스케줄러를 이용하 면 특정시간에 자동으로 백업도 가능합니다.

자동으로 파일을 ftp에 올리거나, 다운로드 받는 배치파일 작성방법

이 작업후에 위 방법을 이용하면 자동으로 ftp 서버에 올릴수도 있습니다~

프로그램은 도스모드를 지원하는 프로그램이어야 자동으로 가능하겠지요(winrar도 비슷하게 반자동으로 지원을 하는데, 그건 조만간 포스팅을 다시하겠습니다)

WinRAR 프로파일 기능으로 자동압축, 배포 스크립트 배치파일 만드는 방법

제가 사용하는 프로그램은 7-zip 일명 7z로 불리는 프로그램입니다.

윈도우용과 도스용을 모두 지원하는 오픈소스 프로그램으로 무료입니다.

http://www.7-zip.org/

위 사이트에서 받으시거나, 위의 7z.zip을 받아서 압축을 풀어도 되는데, 전체 프로그램은 아니고, 도스용인 7z.exe와 7z.dll 2개만 있는 파일입니다.(아마 좀 오래된 버전일겁니다)

사용방법은 간단합니다. 메모장을 여시고, 작성을 하신후에 xxxx.bat 이라고 저장을 하시면 됩니다.

echo off
set D=%DATE:-=%

rem c:\progra~1\danbisoft\solomon\system\7z.exe a -tzip d:\pbl-%D%.zip c:\progra~1\danbisoft\solomon\*.pbl

rem "c:\program files\danbisoft\solomon\system\7z.exe" a -tzip d:\pbl-%D%.zip "c:\program files\danbisoft\solomon\*.pbl"

set 부분은 오늘날짜를 압축파일명으로 받기 위한 방법입니다.

아래의 rem 이라고 붙은 부분은 주석인데, 위나 아래나 같은것인데, 사용할때는 rem을 지워주어야 인식을 합니다.

7z.exe가 path 경로에 들어가 있으면 상관이 없지만, 경로에 안들어가있을 경우 7z.exe 디렉토리를 지정해주고, a 는 압축을 하겠다는 이야기이고, -tzip은 zip 파일로 압축을 하겠다는 이야기이며, d:\pbl-%D%.zip 은 d:\ 에 pbl-20120410.zip 이라는 파일명으로 지정을 하겠다는 의미입니다.

물론 그 뒤에는 압축을 한 대상 디렉토리에서 확장자가 pbl인 파일만 압축을 한다는 내용입니다.

문제가 없다면 위 파일을 배치파일로 저장하면 문제없이 실행되어서  d:\ 에 압축파일이 생성됩니다.

여러곳의 디렉토리를 백업을 한다면 경로만 바꾸어서 여러줄을 넣어주시면 됩니다.

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a: Add files to archive
  b: Benchmark
  e: Extract files from archive (without using directory names)
  l: List contents of archive
  d: Delete files from archive
  u: Update files to archive
  x: eXtract files with full paths
<Switches>
  -ai[r[-|0]]{@listfile|!wildcard}: Include archives
  -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
  -bd: Disable percentage indicator
  -o{Directory}: set Output directory
  -p{Password}: set Password
  -r[-|0]: Recurse subdirectories
  -scs{UTF-8 | WIN | DOS}: set charset for list files
  -sfx[{name}]: Create SFX archive
  -slt: show technical information for l (List) command
  -ssc[-]: set sensitive case mode
  -ssw: compress shared files
  -t{Type}: Set type of archive
  -i[r[-|0]]{@listfile|!wildcard}: Include filenames
  -v{Size}[b|k|m|g]: Create volumes
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
  -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
  -y: assume Yes on all queries

위는 각종 옵션들로 압축을 풀것인지, 하위 디렉토리는 압축을 할것인지, 압축파일에 암호를 걸것인지, 자동압축 sfx파일을 만들것인지 등을 정하는 옵션입니다.

저도 하도 오래되다보니 사용하는것 몇개외에는 긴가민가 합니다...^^

WinRAR 프로파일 기능으로 자동압축, 배포 스크립트 배치파일 만드는 방법

매일이거나 정기적으로 특정 파일들을 백업 받아두거나, windows가 시작할때 자동으로 백업을 할때 등 잘만 사용하신다면 아주 유용하게 사용할수 있는 방법인데, 특히나 걸핏하면 자료를 날리시는 분들이라면 작업스케줄러와 배치파일로 매일 또는 특정요일, 주말 등에 주기적으로 이런식으로 백업을 받는것도 좋은 방법이 아닐까 싶습니다~