본문 바로가기
IT노트/Windows 10

[Windows 10] ROBOCOPY를 사용한 복사 및 백업

by OHNOTE 2024. 4. 11.

ROBOCOPY

ROBOCOPY는 파일 복사하는 다양한 방법 중 한 가지입니다. 대량의 데이터를 복사 할 때 장점이 있다 보니 백업할 때 쓰기 좋은 복사 방법 중 하나입니다. 이번에는 ROBOCOPY를 사용한 복사 및 백업에 대해 공유드리겠습니다.

목차

    반응형

    ROBOCOPY 란

    ROBOCOPY는 xcopy의 개선판으로 윈도우 비스타부터 도입된 윈도우 자체 프로그램으로써 로컬 또는 네트워크 파일카피를 할 수 있습니다.

    ROBOCOPY 장점

    1. 전체 또는 특정 폴더 및 파일을 빠르게 복사할 수 있다.

    2. 권한, 정보까지 복사 가능하다.

    3. COPY 추가된 부분만 복사가 가능하다.

    4. 결과를 확인할 수 있도록 LOG생성이 가능하다.

    ROBOCOPY 사용법

    사용법 : ROBOCOPY 원본 대상 [파일 [파일]...] [옵션]

    원본 : 원본 디렉터리(드라이브:\경로 또는 \\서버\공유\경로)
    대상 : 대상 디렉터리(드라이브:\경로 또는 \\서버\공유\경로)
    파일 : 복사할 파일입니다. 이름/와일드카드: 기본값은 "*.*"입니다.

    ROBOCOPY /MIR 사용 예시

    1. ROBOCOPY /MIR 미러링(Copy) 수행

    /MIR 명령어를 사용하면 내가 원하는 폴더를 똑같이 복사할 수 있습니다.

    EX) TEST 폴더와 같은 파일을 가지고 있는 TEST2 폴더를 생성해 보았습니다.

    명령어 수행 : robocopy /MIR C:\TEST C:\TEST2

    * ROBOCOPY로 복사할 때 주의할 점

    명령어 앞쪽이 원본, 뒤쪽이 대상입니다. 명령어 순서가 바뀌면 데이터가 삭제될 수 있습니다. 명령어 입력 전 임시 폴더에 테스트 후 진행 하시길 바랍니다.

    2. ROBOCOPY /MIR 미러링(Copy) 재수행(신규 파일만 추가 복사 가능)

    1차 카피가 완료된 TEST폴더에 파일 몇 개를 추가 생성 하였고

    똑같은 명령어를 재수 행한 결과입니다.

    명령어 수행 : robocopy /MIR C:\TEST C:\TEST2

    기존파일은 건너뜀으로 표시가 되며 신규 파일만 복사가 됩니다.

    ROBOCOPY 명령어 추천

    ROBOCOPY사용 시 하기 옵션을 가장 많이 사용하는 것 같습니다. 위에서 사용한  /MIR와 같이 사용하면 좋습니다.

     

    /S :: 비어 있는 디렉터리는 제외하고 하위 디렉터리를 복사합니다.
    /E :: 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다.
    /PURGE :: 원본에 없는 대상 파일/디렉터리를 삭제합니다.
    /XF file [file]... :: 지정된 이름/경로/와일드카드와 일치하는 파일을 제외합니다.
    /XD dirs [dirs]... :: 지정된 이름/경로와 일치하는 디렉터리를 제외합니다.
    /MIR :: 디렉터리 트리를 미러링합니다. /E와 /PURGE를 함께 쓰는 것과 동일합니다.
    /MAXAGE:n :: 최대 파일 사용 기간 - n일/날짜보다 오래된 파일을 제외합니다.
    /MINAGE:n :: 최소 파일 사용 기간 - n일/날짜보다 최신 파일을 제외합니다.
    /R:n :: 실패한 복사본에 대한 다시 시도 횟수입니다. 기본값은 1백만입니다.
    /W:n :: 다시 시도 간 대기 시간입니다. 기본값은 30초입니다.
    /LOG:file :: 상태를 로그 파일에 출력합니다. 기존 로그를 덮어씁니다.

    ROBOCOPY 명령어

    1. 복사 옵션

    /S :: 비어 있는 디렉터리는 제외하고 하위 디렉터리를 복사합니다.
    /E :: 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다.
    /LEV:n :: 원본 디렉터리 트리의 최상위 n개 수준만 복사합니다.
    /Z :: 다시 시작 모드에서 파일을 복사합니다.
    /B :: 백업 모드에서 파일을 복사합니다.
    /ZB :: 다시 시작 모드를 사용합니다. 액세스가 거부된 경우 백업 모드를 사용합니다.
    /J :: 버퍼를 사용하지 않은 I/O로 복사합니다(큰 파일에 권장).
    /EFSRAW :: EFS RAW 모드에서 암호화된 모든 파일을 복사합니다.
    /COPY:copyflag[s] :: 파일에 대해 복사할 내용입니다. 기본값은 /COPY:DAT입니다.
     (copyflags : D=데이터, A=특성, T=타임스탬프, X=대체 데이터 스트림 건너뛰기).
     (S=보안=NTFS ACL, O=소유자 정보, U=감사 정보).
    /SEC :: 보안된 파일을 복사합니다. /COPY:DATS와 동일합니다.
    /COPYALL :: 모든 파일 정보를 복사합니다. /COPY:DATSOU와 동일합니다.
    /NOCOPY :: 파일 정보를 복사하지 않습니다. /PURGE와 사용하면 좋습니다.
    /SECFIX :: 건너뛴 파일도 포함하여 모든 파일의 파일 보안을 수정합니다.
    /TIMFIX :: 건너뛴 파일도 포함하여 모든 파일의 파일 시간을 수정합니다.
    /PURGE :: 원본에 없는 대상 파일/디렉터리를 삭제합니다.
    /MIR :: 디렉터리 트리를 미러링합니다. /E와 /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), 저속 회선에서 사용 가능한 대역폭을 확보합니다.
    /SJ:: 접합을 접합 대상으로 복사하는 대신 접합으로 복사합니다.
    /SL:: 바로 가기 링크를 링크 대상으로 복사하는 대신 링크로 복사합니다.
    /MT[:n] :: n개의 스레드가 있는 다중 스레드를 복사합니다(기본값 8).
    n은 1 이상 128 이하여야 합니다.
    이 옵션은 /IPG 및 /EFSRAW 옵션과 호환되지 않습니다.
    성능을 향상시키려면 /LOG 옵션을 사용하여 출력을 리디렉션하세요.
    /DCOPY:copyflag[s] :: 디렉터리에 대해 복사할 내용(기본값은 /DCOPY:DA).
     (copyflags : D=데이터, A=특성, T=타임스탬프, E=EA, X=대체 데이터 스트림 건너뛰기).
    /NODCOPY :: 디렉터리 정보 복사 안 함(기본적으로 /DCOPY:DA 수행).
    /NOOFFLOAD :: Windows 복사본 오프로드 메커니즘을 사용하지 않고 파일을 복사합니다.

    /COMPRESS :: 파일을 전송하는 동안 네트워크 압축을 요청합니다(해당하는 경우).

    2. 파일 선택 옵션
    /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은 YYYYMMDD 날짜입니다.
    /FFT :: FAT 파일 시간(2초 단위)을 가정합니다.
    /DST :: 1시간의 DST 시간 차이를 보완합니다.
    /XJ:: 파일 및 디렉터리 모두에 대한 바로 가기 링크 및 접합 지점을 제외합니다.
    /XJD :: 디렉터리 및 접합 지점에 대한 바로 가기 링크를 제외합니다.
    /XJF:: 파일의 심볼 링크를 제외합니다.
    /IM :: 수정된 파일을 포함합니다 (변경 시간에 차이가 있음).


    3. 다시 시도 옵션
    /R:n :: 실패한 복사본에 대한 다시 시도 횟수입니다. 기본값은 1백만입니다.
    /W:n :: 다시 시도 간 대기 시간입니다. 기본값은 30초입니다.
    /REG :: /R:n 및 /W:n을 레지스트리에 기본 설정으로 저장합니다.
    /TBD :: sharenames가 정의될 때까지 기다립니다(다시 시도 오류 67).
    /LFSM:: 사용 가능한 공간 부족 모드에서 작동하고 복사 일시 중지 및 다시 시작을 사용하도록 설정합니다.
    /LFSM: n [KMG]::/LFSM, n [K:kb, M:mega, G:giga] 바이트의 층 크기를 지정합니다.

    4. 로깅 옵션
    /L :: 목록 전용 - 파일을 복사 또는 삭제하거나 타임스탬프를 만들지 않습니다.
    /X :: 선택된 파일을 제외하고 모든 추가 파일을 보고합니다.
    /V :: 자세한 정보 표시를 출력하고 건너뛴 파일을 표시합니다.
    /TS :: 출력에 원본 파일 타임스탬프를 포함합니다.
    /FP :: 출력에 파일의 전체 경로 이름을 포함합니다.
    /BYTES :: 바이트 크기로 인쇄합니다.
    /NS :: 크기 없음 - 파일 크기를 기록하지 않습니다.
    /NC :: 클래스 없음 - 파일 클래스를 기록하지 않습니다.
    /NFL :: 파일 목록 없음 - 파일 이름을 기록하지 않습니다.
    /NDL :: 디렉터리 목록 없음 - 디렉터리 이름을 기록하지 않습니다.
    /NP :: 진행률 없음 - 복사율(%)을 표시하지 않습니다.
    /ETA :: 복사하는 파일의 예상 도착 시간을 표시합니다.
    /LOG:file :: 상태를 로그 파일에 출력합니다. 기존 로그를 덮어씁니다.
    /LOG+:file :: 상태를 로그 파일에 출력합니다. 기존 로그에 추가합니다.
    /UNILOG:file :: 상태를 유니코드로 로그 파일에 출력합니다. 기존 로그를 덮어씁니다.
    /UNILOG+:file :: 상태를 유니코드로 로그 파일에 출력합니다. 기존 로그에 추가합니다.
    /TEE :: 로그 파일과 콘솔 창에 출력합니다.
    /NJH :: 작업 헤더가 없습니다.
    /NJS :: 작업 요약이 없습니다.
    /UNICODE :: 상태를 유니코드로 출력합니다.

    5. 작업 옵션
    /JOB:jobname :: 명명된 작업 파일에서 매개 변수를 가져옵니다.
    /SAVE:jobname :: 명명된 작업 파일에 매개 변수를 저장합니다.
    /QUIT :: 매개 변수를 볼 수 있도록 명령줄을 처리한 후에 끝냅니다.
    /NOSD :: 원본 디렉터리가 지정되어 있지 않습니다.
    /NODD :: 대상 디렉터리가 지정되어 있지 않습니다.
    /IF :: 다음 파일을 포함합니다.

    마무리

    ROBOCOPY는 명령어를 수행해야 하기 때문에 일반 복사보다는 자주 사용 할일이 적은 복사 방법이긴 합니다. 하지만 대량의 파일 복사나 백어비 필요할 때ROBOCOPY명령을 사용해 보시길 바랍니다.