[개념]

rsync 옵션

-r 재귀적 복사 ❌ (기본 권한으로 변경됨) ❌ (링크 대상 파일 복사)
-a 재귀적 + 메타데이터 보존
-R 경로 구조 유지 ❌ (기본 권한으로 변경됨) ❌ (링크 대상 파일 복사)
  • -a: 퍼미션, 소유자, 그룹, 수정 시간, 심볼릭 링크 등 원본 파일 유지
  • -R: 경로 구조 유지
    원본:명령:결과:→ 원래 있던 /home/user/project/ 폴더 경로까지 그대로 가져옴.
  • /backup/home/user/project/file.txt
  • rsync -R /home/user/project/file.txt /backup/
  • /home/user/project/file.txt

 

 

rsync와 cp는 모두 파일을 복사하는 명령어지만, 작동 방식과 주요 용도에 큰 차이가 있습니다. cp는 단순히 파일을 복사하는 반면, rsync는 원격 또는 로컬에서 파일을 동기화하는 데 특화된 도구입니다.


cp (copy)

cp는 가장 기본적인 파일 복사 명령어입니다.

  • 작동 방식: 소스 디렉터리나 파일의 내용을 대상 위치로 온전히 복사합니다. 파일이 이미 존재하든 아니든, 소스 파일 전체를 다시 덮어쓰거나 복사합니다.
  • 주요 용도: 단일 파일 또는 디렉터리를 같은 시스템 내에서 복사할 때 사용합니다. 간단하고 빠르지만, 이미 존재하는 대용량 파일을 덮어쓸 때는 비효율적일 수 있습니다.
  • 예시:
  • Bash
     
    cp /home/user/document.txt /tmp/document.txt  # 파일 복사
    cp -r /home/user/project /tmp/  # 디렉터리 복사 (하위 파일/폴더 포함)
    

rsync (remote synchronize)

rsync는 파일과 디렉터리를 효율적으로 동기화하는 명령어입니다.

  • 작동 방식: 소스 파일과 대상 파일의 내용을 비교하여, 변경된 부분만 전송합니다. 이로 인해 네트워크 트래픽이나 복사 시간이 크게 절약됩니다. 특히 원격 시스템 간의 동기화에 매우 강력합니다.
  • 주요 용도:
    • 로컬/원격 동기화: 로컬 디스크 간, 또는 로컬과 원격 서버 간의 백업 및 동기화에 최적화되어 있습니다.
    • 증분(incremental) 백업: 변경된 부분만 전송하기 때문에 효율적인 증분 백업을 구현할 수 있습니다.
  • 주요 옵션:
    • -a (archive): 재귀적(recursive)으로 디렉터리를 복사하고, 심볼릭 링크, 권한, 소유자, 그룹, 시간 정보 등을 그대로 보존합니다. 백업이나 동기화 시 가장 흔하게 사용되는 옵션입니다.
    • -v (verbose): 자세한 진행 상황을 출력합니다.
    • -z (compress): 전송 중 데이터를 압축하여 전송 효율을 높입니다.
    • -h (human-readable): 숫자 단위를 사람이 읽기 쉽게 표시합니다.
    • --delete: 소스에는 없고 대상에만 있는 파일을 삭제하여 소스와 대상을 완전히 동일하게 만듭니다.
  • 예시:
  • Bash
     
    # 로컬에서 디렉터리 동기화
    rsync -avh /home/user/project/ /tmp/project/
    
    # 원격 서버로 디렉터리 동기화 (백업)
    rsync -avz /home/user/data/ user@remote_server:/mnt/backup/
    

rsync vs. cp 핵심 비교

특징 cp rsync
주요 기능 파일/디렉터리 복사 파일/디렉터리 동기화
전송 효율 항상 전체 파일 복사 변경된 부분만 전송
네트워크 네트워크 기능 없음 원격 시스템 간 전송에 최적화
권한 보존 -p 옵션 필요 -a 옵션에 포함되어 기본 보존
용도 간단한 로컬 복사 백업, 동기화, 대용량 파일 전송

'기타' 카테고리의 다른 글

08. 로그  (1) 2025.08.28
06. FG BG nohup &  (0) 2025.08.28
04. 파일 권한 및 파일 관리  (2) 2025.08.28
03. 프로세스 (관리)  (0) 2025.08.28
02. shell과 환경변수  (2) 2025.08.28

+ Recent posts