출처2 : http://hosup.egloos.com/3699029
나는 이런 식으로 @echo Start %time% @echo robocopy /E /DCOPY:T /R:1 /W:1 "원본폴더" "대상폴더" /log+:D:\RoboCopy_Log_%date%.txt robocopy /E /DCOPY:T /R:1 /W:1 "원본폴더" "대상폴더" /log+:D:\RoboCopy_Log_%date%.txt @echo 네트워크 드라이브사용시는 접속종료 net use \\192.168.0.1\d$ /d @echo Complete %time% @pause notepad D:\RoboCopy_Log_%date%.txt /E :: 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다. /DCOPY:T :: 디렉터리 타임 스탬프를 복사합니다. /MT[:n] :: n개의 스레드가 있는 다중 스레드를 복사합니다(기본값 8). n은 1 이상 128 이하여야 합니다. 이 옵션은 /IPG 및 /EFSRAW 옵션과 호환되지 않습니다. 성능을 향상시키려면 /LOG 옵션을 사용하여 출력을 리디렉션하십시오. /R:n :: 실패한 복사본에 대한 다시 시도 횟수입니다. 기본값은 1백만 입니다. /W:n :: 다시 시도 간 대기 시간입니다. 기본값은 30초입니다. /LOG+:file :: 상태를 로그 파일에 출력합니다. 기존 로그에 추가합니다. |
☆ robocopy란 ?
xcopy의 개선판으로 다양한 방법으로 로컬 또는 네트워크 파일카피를 할수 있는 윈도우 비스타부터 도입된
윈도우 자체 프로그램입니다.
패치서버 구현이나 디스크이미지백업말고 파일자체 백업시에 유용합니다.
☆ robocopy장점
드라이브 전체카피 , 특정 폴더 카피 , 특정 파일 카피가 가능하며 심지어 파일에 대한 정보 및 권한도
카피가 가능합니다 (생성날짜,특성,소유자 등등) 그리고 한번 robocopy로 카피하고 추가 카피시에는
추가된 파일만 카피하기때문에 (중복카피를 하지않음) 전체파일백업시에 빠른백업이 가능하다는 점입니다.
또한 Log파일로 카피진행내역을 저장할수 있습니다.
☆ robocopy 사용법
사용법 :: ROBOCOPY 원본 대상 [파일 [파일]...] [옵션]
원본 :: 원본 디렉터리(드라이브:\경로 또는 \\서버\공유\경로)
대상 :: 대상 디렉터리(드라이브:\경로 또는 \\서버\공유\경로)
파일 :: 복사할 파일입니다. 이름/와일드카드: 기본값은 "*.*"입니다.
* xp 사용자는 Windows Server 2003 Resource Kit Tools 설치 필요
http://www.microsoft.com/en-us/download/details.aspx?id=17657
☆ robocopy 사용 예시
기본적으로 robocopy는 중복카피를 허용을안함 없는파일이나 업데이트된 파일만 카피하므로
불필요한 작업을 안해 시간절약이 가능
- 기본 미러링 카피(/MIR)
robocopy /mir c:\coolenjoy\ d:\cooln
(/E옵션과 /PURGE옵션이 포함기능이어서 하위 디렉토리까지 카피하며 원본에는 없는 파일이나 디렉토리를
자동 삭제해줍니다. )
- 네트워크가 연결된 컴퓨터에서 파일카피하기
robocopy \\192.168.0.5\D:\coolenjoy\ d:\cooln
- 특정 폴더 제외하고 카피하기(/XD DIRS)
robocopy c:\ d:\ /XD dirs c:\skyblue
- 특정 파일 제외하고 카피하기(/XF FILE)
robocopy c:\ d:\ /XF file c:\skyblue\roboda.htm
- 오래된 파일은 제외하고 카피하기(/MAXAGE:N 또는 YYYYMMDD방식입력)
robocopy c:\ d:\ /maxage:20120824 (8월24일이전파일은 제외)
- 최신 파일은 제외하고 카피하기(/MINAGE:N 또는 YYYYMMDD방식입력)
robocopy c:\ d:\ /minage:20120824 (8월24일이후파일은 제외)
- 특정 파일을 포함시켜서 카피하기(IF)
robocopy c:\robo\ d:\roboda /if c:\skyblue\naya.dll
- 진행결과 미리 도출해보기(/L 실제로 카피결과는 일어나지 않음)
robocopy c:\ d:\ /L
- 로그파일 생성 및 복사하기 (LOG:file 한파일중복기록)
robocopy c:\ d:\ /log:file d:\log\coollog.txt (경로미지정시 본인계정폴더로 저장)
- 로그파일 생성 및 복사하기 (LOG+:file 한파일중복기록)
robocopy c:\ d:\ /log+:file d:\log\coollog.txt (경로미지정시 본인계정폴더로 저장)
※ 옵션을 조합한 응용예시
robocopy /mir /xa:h /ndl /ETA /R:0 d:\ f:\ /XF FILE d:\cool\cool.dll d:\cool\cool2.dll /XD DIRS D:\$RECYCLE.BIN
- 사용 옵션
/mir : 미러링 카피
/xa:h : 윈도우의 숨김파일은 제외하고 카피
/ndl : 카피 진행시나 로그파일에 디렉토리는 기록안하기
/eta : 파일카피 예상완료시간을 표기
/R:0 : 카피시도실패시 반복횟수 (기본옵션 100만번)으로 R:0 하여 반복하지 않거나 R:1으로 반복처리
반복처리시 쓰기대기시간은 기본 30초후에 진행하므로 빠르게 진행할경우 /W:10 하면 10초후에 진행
/XF FILE 특정 파일을 제외하고 카피
/XD DIRS 특정 디렉토리를 제외하고 카피(여기선 휴지통을 제외함)
☆ robocopy 복사 옵션:
/S :: 비어 있는 디렉터리는 제외하고 하위 디렉터리를 복사합니다.
/E :: 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다.
/LEV:n :: 원본 디렉터리 트리의 최상위 n개 수준만 복사합니다.
/Z :: 다시 시작 모드에서 파일을 복사합니다.
/B :: 백업 모드에서 파일을 복사합니다.
/ZB :: 다시 시작 모드를 사용합니다. 액세스가 거부된 경우 백업 모드를 사용합니다.
/EFSRAW :: EFS RAW 모드에서 암호화된 모든 파일을 복사합니다.
/COPY:copyflag[s] :: 파일에 대해 복사할 내용입니다. 기본값은 /COPY:DAT입니다.
(copyflags : D=데이터, A=특성, T=타임스탬프).
(S=보안=NTFS ACL, O=소유자 정보, U=감사 정보).
/DCOPY:T :: 디렉터리 타임 스탬프를 복사합니다.
/SEC :: 보안된 파일을 복사합니다. /COPY:DATS와 동일합니다.
/COPYALL :: 모든 파일 정보를 복사합니다. /COPY:DATSOU와 동일합니다.
/NOCOPY :: 파일 정보를 복사하지 않습니다. /PURGE와 사용하면 좋습니다.
/SECFIX :: 건너뛴 파일도 포함하여 모든 파일의 파일 보안을 수정합니다.
/TIMFIX :: 건너뛴 파일도 포함하여 모든 파일의 파일 시간을 수정합니다.
/PURGE :: 원본에 없는 대상 파일/디렉터리를 삭제합니다.
/MIR :: 디렉터리 트리를 미러링합니다./ E plus /PURGE와 동일합니다
/MOV :: 파일을 이동합니다. 복사한 다음 원본에서 삭제합니다.
/MOVE :: 파일 및 디렉터리를 이동합니다. 복사한 다음 원본에서 삭제 합니다.
/A+:[RASHCNET] :: 제공된 특성을 복사된 파일에 추가합니다.
/A-:[RASHCNET] :: 제공된 특성을 복사된 파일에서 제거합니다.
/CREATE :: 디렉터리 트리와 길이가 0인 파일만 만듭니다.
/FAT :: 8.3 FAT 파일 이름만 사용하여 대상 파일을 만듭니다.
/256 :: 256자를 초과하는 매우 긴 경로에 대한 지원을 사용하지 않습니다.
/MON:n :: 원본을 모니터링합니다. n개 이상의 변경 내용이 표시된 경우 다시 실행합니다.
/MOT:m :: 원본을 모니터링합니다. 변경 내용이 있으면 m분 후에 다시실행합니다.
/RH:hhmm-hhmm :: 실행 시간 - 새 복사본을 시작할 수 있는 시간입니다.
/PF :: 통과 기준이 아닌 파일당 기준으로 실행 시간을 확인합니다.
/IPG:n :: 패킷 간 간격(ms), 저속 회선에서 사용 가능한 대역폭을 확보 합니다.
/SL:: 대상에 대한 심볼 링크를 복사합니다.
/MT[:n] :: n개의 스레드가 있는 다중 스레드를 복사합니다(기본값 8). n은 1 이상 128 이하여야 합니다.
이 옵션은 /IPG 및 /EFSRAW 옵션과 호환되지 않습니다.
성능을 향상시키려면 /LOG 옵션을 사용하여 출력을 리디렉션하십시오.
☆ robocopy 옵션:
/A :: 보관 특성 집합이 있는 파일만 복사합니다.
/M :: 보관 특성이 있는 파일만 복사하고 보관 특성을 해제합니다.
/IA:[RASHCNETO] :: 지정된 특성을 가진 파일만 포함합니다.
/XA:[RASHCNETO] :: 지정된 특성을 가진 파일을 제외합니다.
/XF file [file]... :: 지정된 이름/경로/와일드카드와 일치하는 파일을 제외합니다.
/XD dirs [dirs]... :: 지정된 이름/경로와 일치하는 디렉터리를 제외합니다.
/XC :: 변경된 파일을 제외합니다.
/XN :: 새 파일을 제외합니다.
/XO :: 오래된 파일을 제외합니다.
/XX :: 추가 파일 및 디렉터리를 제외합니다.
/XL :: 고립된 파일 및 디렉터리를 제외합니다.
/IS :: 같은 파일을 포함합니다.
/IT :: 조정된 파일을 포함합니다.
/MAX:n :: 최대 파일 크기 - n바이트를 초과하는 파일을 제외합니다.
/MIN:n :: 최소 파일 크기 - n바이트 미만의 파일을 제외합니다.
/MAXAGE:n :: 최대 파일 사용 기간 - n일/날짜보다 오래된 파일을 제외합니
다.
/MINAGE:n :: 최소 파일 사용 기간 - n일/날짜보다 최신 파일을 제외합니다.
/MAXLAD:n :: 최대 마지막 액세스 날짜 - n 이후에 사용되지 않은 파일을
제외합니다.
/MINLAD:n :: 최소 마지막 액세스 날짜 - n 이후에 사용된 파일을 제외합니
다.
n이 1900보다 크면 n은 n일과 같고 그렇지 않으면 n은 YYYYMM
DD 날짜입니다.
/XJ :: 연결 지점을 제외합니다. 일반적으로 기본값으로 포함됩니다.
/FFT :: FAT 파일 시간(2초 단위)을 가정합니다.
/DST :: 1시간의 DST 시간 차이를 보완합니다.
/XJD :: 디렉터리의 연결 지점을 제외합니다.
/XJF :: 파일의 연결 지점을 제외합니다.
☆ robocopy 다시 시도 옵션:
/R:n :: 실패한 복사본에 대한 다시 시도 횟수입니다. 기본값은 1백만
입니다.
/W:n :: 다시 시도 간 대기 시간입니다. 기본값은 30초입니다.
/REG :: /R:n 및 /W:n을 레지스트리에 기본 설정으로 저장합니다.
/TBD :: 정의할 공유 이름을 기다립니다(다시 시도 오류 67).
☆ robocopy 로깅 옵션:
/L :: 목록 전용 - 파일을 복사 또는 삭제하거나 타임스탬프를 만들
지 않습니다.
/X :: 선택된 파일을 제외하고 모든 추가 파일을 보고합니다.
/V :: 자세한 정보 표시를 출력하고 건너뛴 파일을 표시합니다.
/TS :: 출력에 원본 파일 타임스탬프를 포함합니다.
/FP :: 출력에 파일의 전체 경로 이름을 포함합니다.
/BYTES :: 바이트 크기로 인쇄합니다.
/NS :: 크기 없음 - 파일 크기를 기록하지 않습니다.
/NC :: 클래스 없음 - 파일 클래스를 기록하지 않습니다.
/NFL :: 파일 목록 없음 - 파일 이름을 기록하지 않습니다.
/NDL :: 디렉터리 목록 없음 - 디렉터리 이름을 기록하지 않습니다.
/NP :: 진행률 없음 - 복사율(%)을 표시하지 않습니다.
/ETA :: 복사하는 파일의 예상 도착 시간을 표시합니다.
/LOG:file :: 상태를 로그 파일에 출력합니다. 기존 로그를 덮어씁니다.
/LOG+:file :: 상태를 로그 파일에 출력합니다. 기존 로그에 추가합니다.
/UNILOG:file :: 상태를 유니코드로 로그 파일에 출력합니다. 기존 로그를 덮
어씁니다.
/UNILOG+:file :: 상태를 유니코드로 로그 파일에 출력합니다. 기존 로그에 추
가합니다.
/TEE :: 로그 파일과 콘솔 창에 출력합니다.
/NJH :: 작업 헤더가 없습니다.
/NJS :: 작업 요약이 없습니다.
/UNICODE :: 상태를 유니코드로 출력합니다.
☆ robocopy 작업 옵션:
/JOB:jobname :: 명명된 작업 파일에서 매개 변수를 가져옵니다.
/SAVE:jobname :: 명명된 작업 파일에 매개 변수를 저장합니다.
/QUIT :: 매개 변수를 볼 수 있도록 명령줄을 처리한 후에 끝냅니다.
/NOSD :: 원본 디렉터리가 지정되어 있지 않습니다.
/NODD :: 대상 디렉터리가 지정되어 있지 않습니다.
/IF :: 다음 파일을 포함합니다.
data back up은 아무리 강조해도 지나치지 않다.
PC를 사용하다보면 가장 난감할 때가, 어느날 갑자기 귀중한 자료가 실수로, 또는 PC의 고장으로 날라가 버리는 경우다. 일하면서 만들었던 중요한 file들을 복구하지 못해서 난감해 하거나, 몇년치의 소중한 개인 자료들을 잃어 버리고 쩔쩔 매 본 기억이 한번이라도 없는 사람이 있을까?
나도 예전에 한두번 자료를 홀라당 날려먹은 이후로 철저하리만치 back up에 신경을 쓰게 되었다. 다행이도 요즈음의 PC와 software들이 예전에 비해서 많이 안정적이어서 그로 인한 문제는 별로 발생하지 않는 것 같다. 하지만 그만큼 PC에 file로 존재하는 내 data는 해가 거듭될 수록 기하급수적으로 늘어나고 있으므로, 잠시라도 back up을 게을리 할 수가 없다.
그동안 참 여러가지 방법을 이용해서 back up을 해 온 것 같다.
전문적인 back up tool을 사용해보기도 했고, windows에 기본적으로 들어 있는 tool을 이용해보기도 했고, 그냥 수동으로 data를 back up 하기도 하면서 늘상 어떻게 하면 보다 편하게 내가 원하는대로 back up을 할 수 있을지를 고민해 왔던 것 같다.
내가 그동안 사용해본 방법 중에서 가장 편한 방법이라고 생각되는 방법을 소개해 보고자 한다.
windows vista에는 robocopy라는 command line 명령어가 추가 되었다. 다른 windows version에도
http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en
요기에서 down 받아서 쉽게 설치할 수 있는 것 같다.
이에 대한 자세한 설명은
http://en.wikipedia.org/wiki/Robocopy
또는 명령 프롬프트에서 'robocopy /?' 라고 치고 나오는 설명을 보면 된다.
이 명령을 이용해서 간단하게 batch file을 하나 만든다.
|
개인에 따라 다르겠지만, 이런 비슷한 내용이 담긴 text file을 하나 만들어서 backup.bat 정도의 이름으로 저장한 후에, [보조프로그램-시스템도구-작업스케줄러]에 등록해 놓으면 되는 것이다.
robocopy의 많은 옵션 중에서 내가 사용한 것은,
/E :: 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다.
/MIR :: 디렉터리 트리를 미러링합니다.
/LOG:file :: 상태를 로그 파일에 출력합니다. 기존 로그를 덮어씁니다.
/LOG+:file :: 상태를 로그 파일에 출력합니다. 기존 로그에 추가합니다.
/NFL :: 파일 목록 없음 - 파일 이름을 기록하지 않습니다.
/NDL :: 디렉터리 목록 없음 - 디렉터리 이름을 기록하지 않습니다.
이정도다.
똑같이 유지하고 싶은 folder는 /MIR
계속해서 추가만 하고 싶은 folder는 /E 를 사용하면 되고,
시작할 때 새로 log file을 만들고 이후의 log는 같은 file에 기록하게 만들었으며,
log에 자세한 file 이름이나 folder 이름이 주저리 기록되기보다는 결과만 기록되게 했다.
그리고, 일반적인 data folder 뿐만 아니라,
바탕화면의 내용
IE나 Firefox의 즐겨찾기 내용
인증서 file 까지 한꺼번에 back up이 되도록 해서, 혹시라도 사용하고 있던 PC를 잃어 버리더라도 아무 문제 없게 설정을 했다.
마지막으로, 나는 USB로 연결되는 외장 하드를 사용하기 때문에, 실행시에 usb를 연결할 기회(시간)를 한번 주었고, 다 실행이 된 후에 notepad로 결과 log file이 열리도록 하였다.
이렇게 작성해놓고 수동으로 가끔 실행시켜도 되지만(물론 처음 한 번은 모두 다 copy를 해야하므로 오래 걸린다. 하지만 그 이후로는 변경된 것들만 copy가 되므로 그리 오랜 시간이 걸리지 않는다.), 주기적으로 자동으로 실행이 되도록 하기 위해서, [보조프로그램-시스템도구-작업스케줄러]에
이렇게 추가해 두었다.
이쯤 되면 back up을 어떻게 하면 더 편하게 할지에 대한 고민을 당분간 하지 않아도 될 듯 싶다.
댓글을 달아 주세요