Media Log

Robocopy로 편하게 살아봅시다…

clip_image001

Windows가 설치된 컴퓨터에는 Robocopy라는 강력한 복사 도구가 들어 있습니다. 물론, 윈도우 10도 마찬가진데요... Wikipedia에서 말하는 Robocopy에 대한 설명은 아래와 같습니다.

Robocopy, or "Robust File Copy", is a command-line directory and/or file replication command. Robocopy functionally replaces Xcopy, with more options. It has been available as part of the Windows Resource Kit starting with Windows NT 4.0, and was first introduced as a standard feature in Windows Vista and Windows Server 2008. The command is robocopy.

출처: <https://en.wikipedia.org/wiki/Robocopy>

이번 포스트에서는 특정 폴더를 원하는 곳으로 (자동 복사)백업하는 방법을 알아보겠습니다. 먼저… 긴 말 필요 없이.. Robocopy를 어떻게 사용하는지 한번 살펴보죠.

예제 구문입니다.

robocopy C:\JAVA C:\Users\archmond\TEST\JAVA /MIR /XA:H /W:0 /R:1 /REG > C:\javabackup.log

위에서 사용한 ROBOCOPY 옵션 설명

C:\JAVA

원본 폴더입니다.(백업할 내용이 들어 있는 폴더입니다.)

C:\Users\archmond\TEST\JAVA

대상 폴더입니다.(백업하게 곳이죠.)

/MIR

디렉터리 트리를 미러링합니다. (/E와 /PURGE를 함께 쓰는 것과 동일함.)

/XA:H

숨김 특성을 가진 파일을 제외합니다.

/W:0

다시 시도 간 대기 시간입니다. (기본값은 30초입니다. 파일이 사용 중이라 잠겨 있을 , 재시도하는 시간입니다.)

/REG

/W 와 /R 값을 레지스트리에 기본값으로 저장합니다.

> C:\javabackup.log

백업 내용을 로그 파일에 기록합니다.

(여러분의 상황에 맞게 변경하여 사용해보세요!)

복사(백업)가 잘 되는지 확인해보죠...

clip_image002

먼저, 시작 단추를 눌러 'cmd'를 입력해 관리자 권한으로 명령 프롬프트를 실행합니다.

clip_image003

미리 작성해 두었던 Robocopy 구문을 붙여 넣어 실행해봅니다.

clip_image004

좌측은 원본 폴더, 우측은 Robocopy로 복제된 폴더입니다. 수정한 날짜나 폴더 크기 등이 동일합니다.

clip_image005

C:\에 저장된 .log 파일을 열어봅니다.

clip_image006

어떤 옵션으로 어떻게 복사를 시작했는지, 어떤 파일과 폴더가 복사되었는지 알려줍니다.

clip_image007

/MIR 옵션을 붙였기 때문에, 하위 폴더도 복사되었습니다. (/E와 /PURGE 옵션을 함께 사용한 것과 동일합니다.)

  • /E :: 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다.
  • /PURGE :: 원본에 없는 대상 파일/디렉터리를 삭제합니다.

clip_image008

종료 시간이나 전체 데이터 크기 등을 확인할 수 있습니다.

작업 스케줄러에 등록하기(백업 자동화)

Robocopy 작업을 자동으로 동작시키기 위해, 작업 스케쥴러에 등록해보겠습니다.

clip_image009

먼저 메모장에 원하는 복사 구문을 입력합니다.(맨 위에 @echo off 를 입력하면 현재 실행 중인 구문을 감추어 깔끔하게 만들어줍니다.)

@echo off

robocopy C:\JAVA C:\Users\archmond\TEST\JAVA /MIR /XA:H /W:0 /R:1 /REG /S > C:\javabackup.log

robocopy C:\ABC C:\Users\archmond\TEST\ABC /MIR /XA:H /W:0 /R:1 /REG /S > C:\abcbackup.log

위와 같이 여러 robocopy 구문을 작성해 놓을 수도 있습니다.

clip_image010

다 완성되면, 파일명.bat로 저장해 놓습니다.(텍스트 파일이 아닙니다 ^^)

clip_image011

시작 단추를 눌러 '작업 스케줄러'를 입력, 실행합니다.

clip_image012

기본 작업 만들기 클릭

clip_image013

이름과 설명을 적절히 입력합니다.

clip_image014

원하는 작업 반복 주기를 선택합니다.

clip_image015

저는 업무가 끝나는 7시를 선택했습니다.(위와 같이 설정하면 매일 오후 7시에 반복됩니다.)

clip_image016

프로그램 시작 선택.

clip_image017

프로그램/스크립트에 위에서 만들었던 .BAT 파일을 선택해줍니다.

clip_image018

자세한 사항을 확인합니다.

clip_image019

'작업 스케줄러 라이브러리'를 선택해봅니다. 작업이 잘 만들어졌나요? 앞으로 7시가 되면 자동으로 해당 폴더들을 백업해줄겁니다. ^^

테스트해보기

잘 되는지 실험해봐야겠죠?

clip_image020

테스트하려면 작업 스케줄러에서 내가 만든 항목을 실행해 보면 됩니다.

clip_image021

실행 결과는 C:\ 에 .log 파일로 존재하니 천천히 살펴보면 됩니다. ^^

Robocopy 옵션 살펴보기

명령 프롬프트에서 robocopy /? 명령을 입력하면 자세한 옵션을 살펴볼 수 있습니다.

image

즐기세요!