> rsync : Remote sync의 줄임말로 여러가지 옵션을 이용해 원격 또는 로컬간에 파일이나 디렉토리를 복사하는 툴
> 설치 방법 : 우분투 설치 시 자동 설치됨 / $ sudo apt-get install rsync
> rsync 서비스 재시작 : $ sudo /etc/init.d/rsync restart
> option
-a : archive mode (심볼릭 링크, 속성, 퍼미션, 소유권 등 보존)
-v 진행상황을 상세히 보여줌
-r 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행
-l 소프트링크 보존
-H 하드링크 보존
-p 버전속성 보존
-o 소유속성 보존(루트)
-g 그룹속성 보존
-t 타임스탬프 보존
-D 디바이스 파일보존(루트)
-z 데이터압축 전송
-u 추가된 파일만 전송
-b backup, 동기화 중에 백업 진행 백업 된 데이터는 파일명 끝에 "~" 문자가 붙음
-n dry-run, 실제 동기화 없이 작업
-u 새로운 파일을 덮어쓰지 않음
-c 서버와 클라이언트 파일크기를 세밀히 체크
-e ssh(rsh) 전송암호화/ 데이터 전송 포트를 기본 873이 아닌 ssh 포트를 사용 '-e ssh'
--existing : 추가된 파일은 전송하지않고 갱신된 파일만 전송
--delete : 서버에 없는 파일은 클라이언트에서도 삭제
--exclude 'PATTERN' : 패턴과 맞는 파일만 전송
--stats : 결과를 보고
--daemon : 대몬모드로 운영함(이건 inetd.conf에 지정할 때 필요함)
--progress : 진행률 표시
> rsync 예제
- 로컬로 파일복사 : rsync -avzhP test.txt /tmp -> -avzhP : 옵션, test.txt /tmp -> 대상 파일 및 폴더
- 로컬로 디렉토리 복사 : rsync -avzhP test-directory /tmp -> 디렉토리 자체가 복사됨
- 원격에 파일 복사 : rsync -avzhP test-directory /tmp
> rsync와 scp
- scp : secure copy (remote file copy program)의 줄임말로 ssh를 이용해 네트워크로 연결된 호스트간에 파일을 주고 받는 명령어
scp는 심볼릭 링크가 걸려있는 폴더를 참조를 유지하지 않고 원본 파일을 저장한다.
- 차이점
| rsync | scp | |
지연 시간 대비 성능 |
rsync는 비교적 최적화되고 속도가 빠르다. | 최적화 및 속도가 상대적으로 낮다. |
| 인터럽트 처리 |
위의 rsync 세션 자체가 중단된 경우 동일한 명령을 입력하여 원하는 만큼 다시 시작할 수 있다. rsync는 전송이 중단된 위치에서 자동으로 전송을 다시 시작한다. | scp 명령줄 도구는 네트워크 연결이 끊어져 중단된 다운로드를 그 상태로 다시 시작할 수 없다. |
| 안전성 | 전송된 파일이 올바르게 전송되었는지 자동으로 확인 한다. | 전송된 파일이 올바르게 전송되었는지 자동으로 확인 하지 않는다. |
- scp 대신 rsync를 사용하는 이유
spc는 해당되는 폴더 및 파일 하위까지 a to z를 전송한다면 rsync는 처음에는 spc와 똑같지만 그 이후부터 변화된 파일 및 디렉토리만 전송하여 spc보다 빠르고, rsync는 전송이후에도 파일의 상태를 확인하므로 안전성이 있기 때문이다.
'Embedded linux > etc' 카테고리의 다른 글
| [Ubuntu] 디렉토리 별 역할 (1) | 2024.01.03 |
|---|---|
| pip 설치하기 (0) | 2024.01.03 |
| VNC로 윈도우에서 리눅스 우분투 환경 원격 접속하기 (0) | 2023.11.01 |