본문 바로가기

Linux

rsync, scp 차이

반응형

## rsync(Remote Synchronization)

  • 원격시스템과의 데이터 동기화를 지원
  • 데이터를 압축하여 송수신함으로 적은 대역폭을 사용

 

rsync -[옵션] [보낼파일] [받을위치]

※ 옵션

v 자세한 정보를 출력
z 데이터 압축
r 하위 디렉토리까지 모두 복사
a 아카이브 모드로 진행, 파일 권한, 타임스탬프, 심볼릭 링크를 모두 동기화
l 심볼릭 링크 보존
p 파일의 퍼미션 보존
g 그룹 속성 보존
o 소유자 속성 보존
q 진행정보 표시하지 않음
--bwlimit 전송 속도 제한
--progress 파일전송 진행내역을 보여줌
--stats 결과를 자세히 출력

 

 

 

 

## scp(Secure Copy)

  • ssh를 이용하여 네트워크로 연결된 호스트간에 파일을 주고받는 명령어
  • 원격지에 있는 파일과 디렉터리를 보내거나 가져올 때 사용하는 파일 전송 프로토콜

 

scp [파일경로/파일명] [계정명@타겟서버명:도착경로/파일명]

※ 옵션

r 디렉토리 내 모든 파일/디렉토리 복사
p 원본 권한 속성 유지 복사
P 포트 번호 지정 복사
l 전송 속도제한
c 압축 복사
v 과정 출력 복사
a 아카이브 모드 복사

 

 

 

## rsync scp 차이

1. 속도면에서 rsync가 더 빠르다.

→ rsync는 처음 접속시 디렉토리와 파일내용을 모두 복사하지만 그 뒤에는 변경이 있는 부분만 복사를 진행하기 때문이다.

 

 

2.심볼릭링크를 처리하는 방식에 차이가 있다.

scp는 전송하는 파일 중에 심볼릭 링크가 있으면 이를 유지하지 않고 링크된 원본 파일을 전송한다.

 


## 중단시 다시 이어 받는 옵션

1. --partial 옵션

--partial 옵션은 전송이 중단된 파일의 부분을 보존하고, 다음 실행 시 이어서 전송을 시도한다. 중단된 파일을 삭제하지 않고 그대로 유지하면서 재시도할 수 있다.

 

rsync --partial [옵션] [소스] [대상]

ex)

rsync --partial -avz /path/to/source/ user@remote:/path/to/destination/

2. --append 옵션

--append 옵션은 전송된 부분을 유지한 상태에서 나머지 파일을 이어서 전송한다. 하지만 이 옵션은 부분적으로 전송된 파일이 손상되지 않았을 때 유효하다.

 
rsync --append [옵션] [소스] [대상]
ex)
rsync --append -avz /path/to/source/ user@remote:/path/to/destination/

3. --append-verify 옵션

--append-verify는 --append와 유사하지만, 이어서 전송할 때 파일의 무결성을 검증. 파일이 손상되지 않았는지 확인하며, 성능은 조금 떨어질 수 있지만 안전하게 파일을 이어받는다

 
rsync --append-verify [옵션] [소스] [대상]
ex) 
rsync --append-verify -avz /path/to/source/ user@remote:/path/to/destination/
 

이 세 가지 옵션을 사용하면, 파일 전송이 중단되었을 때 다시 전송을 이어받을 수 있다. --partial은 간단하게 중단된 파일을 보존하고 재전송할 수 있으며, --append-verify는 파일의 무결성을 보장하면서 이어서 전송할 때 유용하다.

 
반응형