목차
본문으로 바로가기

robocopy를 이용한 동기화

category OS/Windows 2025. 5. 19. 23:20

1. 개요

Windows 환경에서 Dummy 파일 생성은 디스크 테스트, 백업 시뮬레이션 등 다양한 용도로 활용됩니다.
이 글에서는 fsutil 명령어를 활용한 더미 파일 생성과, 생성한 파일을 robocopy 명령어로 이동 및 실시간 동기화하는 방법까지 설명합니다.


2. 핵심 개념 정리

개념 설명
Dummy 파일 내용 없이 용량만 차지하는 테스트용 파일
fsutil Windows에서 파일 생성/조작용 CLI 유틸리티
robocopy 고성능 파일 복사/이동/동기화 명령어
실시간 동기화 폴더 간 변경 감지를 통해 즉시 복사 수행
PowerShell 윈도우 스크립트 자동화 도구

3. fsutil로 Dummy 파일 생성

fsutil file createnew dummy.txt 104857600   # 100MB 파일 생성
  • 경로: 현재 위치 또는 지정된 디렉토리
  • 관리자 권한 PowerShell 실행 필수

4. robocopy 명령어 기본 형식

robocopy [원본폴더] [대상폴더] [파일형식] [옵션들]

주요 옵션 정리표

옵션 설명
/E 하위 폴더 포함 (빈 폴더도 포함)
/MOVE 복사 후 원본 삭제 (이동)
/MIR 원본과 대상 완전 동기화 (삭제 포함)
/MON:n n개 이상의 변경 시 실행 (폴링 기반)
/MOT:m m분마다 감시하여 변경된 파일 복사
/R:n 실패 시 재시도 횟수 (기본 1백만 회)
/W:n 실패 후 대기 시간 (초 단위)
/LOG:file 로그 파일로 결과 출력

5. Rsync vs Robocopy 비교 분석

항목 Robocopy (Windows) Rsync (Linux/Unix 기반)
지원 OS Windows 전용 Linux, macOS, Windows(Cygwin)
설치 여부 기본 내장 별도 설치 필요 (Windows 제외)
실시간 감시 /MON, /MOT 옵션으로 가능 inotifywait 등 외부 도구 필요
차등 복사 지원 (시간 기반) 고속 차등 복사 (블록 단위)
삭제 동기화 /MIR 옵션 사용 --delete 옵션 사용
로그 기록 /LOG 옵션으로 파일화 가능 --log-file 옵션으로 가능
GUI 도구 없음 (순수 CLI) Grsync 등 서드파티 GUI 존재
네트워크 복사 네트워크 드라이브 가능 SSH 기반 복사 가능 (암호화 전송)

결론: Windows 환경에서는 robocopy, Linux/크로스플랫폼 환경에서는 rsync가 유리함.


6. 실시간 동기화 케이스 설명

📁 적용 사례: 로컬 폴더 실시간 백업

항목 설명
원본 폴더 C:\Data
백업 폴더 D:\Backup\Data
목적 업무 파일 실시간 이중화, 실수 방지, 백업 자동화

🔄 실시간 동기화 PowerShell 예시

robocopy "C:\Data" "D:\Backup\Data" /E /MIR /MON:1 /MOT:5 /R:3 /W:5 /LOG:C:\robocopy_sync.log

bat 파일 예시 (batch script)

@echo off
set SRC=C:\Data
set DST=D:\Backup\Data
set LOG=C:\robocopy_sync.log

robocopy "%SRC%" "%DST%" /E /MIR /MON:1 /MOT:5 /R:3 /W:5 /LOG+:%LOG%

PowerShell 스크립트 예시

$source = "C:\Data"
$dest = "D:\Backup\Data"
$log = "C:\robocopy_sync.log"

robocopy $source $dest /E /MIR /MON:1 /MOT:5 /R:3 /W:5 /LOG+:$log

7. 작업 스케줄러 등록 방법 (자동 실행)

  1. 작업 스케줄러 실행 (taskschd.msc)

  2. 새 작업 만들기 → 이름 및 설명 입력

  3. 트리거 설정: 시스템 시작 시, 사용자 로그인 시, 매시간 등

  4. 작업 → 프로그램 시작 선택

  5. 프로그램 경로 입력:

    • .bat 실행 시: C:\Scripts\sync.bat
    • .ps1 실행 시: powershell.exe
    • 인수 입력: -ExecutionPolicy Bypass -File "C:\Scripts\sync.ps1"
  6. 저장 후 테스트 실행


8. 실무 적용 계획 및 체크리스트

점검 항목 설명 완료 여부
관리자 권한 실행 여부 확인 fsutil/robocopy 모두 필요 [ ]
폴더 경로 및 권한 확인 읽기/쓰기 권한 필요 [ ]
디스크 용량 여유 확인 대량 파일 이동 시 필수 [ ]
백업 주기 적정성 판단 실시간, 매 5분 등 전략 결정 [ ]
로그 확인 및 알림 설정 여부 robocopy 로그 기반 보고 또는 알림 [ ]
스케줄러에 자동 실행 등록 완료 지속적 동기화 적용 여부 [ ]

9. 참고 링크