RSync 기본 명령어
기본 사용법
소스 디렉토리(dir1)의 내용을 동일한 시스템의 대상 디렉토리(dir2)에 동기화하려면:
rsync -a dir1/ dir2
로컬 디렉터리(dir1)의 내용을 원격 디렉터리(dir2)에 동기화하려면:
rsync -a dir1/ username@remote_host:dir2
공개 키 인증을 위해 SSH ID 파일(개인 키)을 사용하는 경우 로컬 디렉토리(dir1)의 내용을 원격 디렉토리(dir2)에 동기화하려면 다음을 수행하십시오.
rsync -e "ssh -i keypair.pem" -a dir1/ username@remote_host:dir2
자세한 정보 표시(--verbose, -v)
기본적으로 rsync는 자동으로 작동합니다. 이 옵션을 사용하면 파일이 전송되지 않은 경우에도 전송 중에 발생하는 상황을 볼 수 있습니다.
rsync -v dir1/ dir2
$ rsync -v dir1/ [email protected]:remote_dir
[email protected]'s password:
skipping directory .
sent 16 bytes received 12 bytes 6.22 bytes/sec
total size is 0 speedup is 0.00
$
아카이브(--아카이브, -a)
거의 모든 것을 보존하고 싶다고 말하는 빠른 방법입니다.
rsync -a dir1/ dir2
$ rsync -av dir1/ [email protected]:remote_dir
sending incremental file list
./
file1
file2
file3
sent 2,183 bytes received 589 bytes 792.00 bytes/sec
total size is 498 speedup is 0.18
$
재귀(--재귀, -r)
이것은 재귀적으로 디렉토리를 복사하도록 rsync에 지시합니다.
rsync -r dir1/ dir2
$ rsync -rav dir1/ [email protected]:remote_dir
sending incremental file list
subdir1/
subdir1/subfile1
subdir1/subfile2
subdir1/subfile3
sent 391 bytes received 77 bytes 133.71 bytes/sec
total size is 83 speedup is 0.18
$
고지 사항:
dir1/
의 첫 번째 인수 끝에 후행 슬래시(/)가 있음을 확인했습니다.이것은 dir1의 내용을 의미하기 위해 필요합니다. 후행 슬래시가 없는 대안은 디렉토리를 포함하여
dir1
를 dir2
내에 배치합니다. 이렇게 하면 다음과 같은 계층이 생성됩니다. ~/dir2/dir1/[files]
이 출력을 후행 슬래시와 비교하십시오.
$ rsync -rav dir1/ [email protected]:remote_dir
sending incremental file list
./
file1
file2
file3
subdir1/
subdir1/subfile1
subdir1/subfile2
subdir1/subfile3
sent 534 bytes received 145 bytes 194.00 bytes/sec
total size is 83 speedup is 0.12
$ tree remote_dir/
remote_dir/
file1
file2
file3
subdir1
subfile1
subfile2
subfile3
1 directory, 6 files
livia@antix1:~
$
후행 슬래시를 제거하면 다음과 같습니다.
$ rsync -rav dir1 [email protected]:remote_dir
sending incremental file list
dir1/
dir1/file1
dir1/file2
dir1/file3
dir1/subdir1/
dir1/subdir1/subfile1
dir1/subdir1/subfile2
dir1/subdir1/subfile3
sent 850 bytes received 260 bytes 246.67 bytes/sec
total size is 83 speedup is 0.07
$ tree remote_dir/
remote_dir/
dir1
file1
file2
file3
subdir1
subfile1
subfile2
subfile3
2 directories, 6 files
livia@antix1:~
$
여기에서 디렉토리 자체가 전송된 것을 볼 수 있습니다.
업데이트(--업데이트, -u)
이렇게 하면 rsync가 대상에 존재하고 수정된 시간이 소스 파일보다 최신인 모든 파일을 건너뛰게 됩니다.
rsync -u dir1/ dir2
크기와 수정 날짜가
83 Nov 26 16:56 file1
에서 677 Nov 27 14:10 file1
로 어떻게 변경되는지 확인합니다.$ ls -lh remote_dir/
total 8.0K
-rw-rw-r-- 1 livia livia 83 Nov 26 16:56 file1
-rw-rw-r-- 1 livia livia 0 Nov 26 15:58 file2
-rw-rw-r-- 1 livia livia 0 Nov 26 15:58 file3
drwxrwxr-x 2 livia livia 4.0K Nov 27 13:42 subdir1
$ rsync -rauv dir1/ [email protected]:remote_dir
[email protected]'s password:
sending incremental file list
./
file1
sent 934 bytes received 45 bytes 217.56 bytes/sec
total size is 677 speedup is 0.69
$ ls -lh remote_dir/
total 8.0K
-rw-rw-r-- 1 livia livia 677 Nov 27 14:10 file1
-rw-rw-r-- 1 livia livia 0 Nov 26 15:58 file2
-rw-rw-r-- 1 livia livia 0 Nov 26 15:58 file3
drwxrwxr-x 2 livia livia 4.0K Nov 27 13:42 subdir1
$
드라이런(--드라이런, -n)
이렇게 하면 rsync가 변경 사항이 없는 시험 실행을 수행하고 실제 실행과 거의 동일한 출력을 생성합니다. 대규모 전송을 수행하기 전에 매개변수를 테스트하기에 좋은 리소스입니다.
rsync -n dir1/ dir2
$ rsync -rauvn dir1/ [email protected]:remote_dir
sending incremental file list
./
file1
file2
file3
subdir1/
subdir1/subfile1
subdir1/subfile2
subdir1/subfile3
sent 235 bytes received 41 bytes 78.86 bytes/sec
total size is 677 speedup is 2.45 (DRY RUN)
$ tree remote_dir/
remote_dir/
0 directories, 0 files
livia@antix1:~
$
진행률(--진행률, -P)
이 옵션은 전송 진행률을 보여주는 정보를 인쇄하도록 rsync에 지시합니다.
rsync -P dir1/ dir2
$ rsync -rauvP dir1/ [email protected]:remote_dir
sending incremental file list
./
big-file
67,562,098 100% 1.16MB/s 0:00:55 (xfr#1, to-chk=7/9)
sent 67,562,098 bytes received 100 bytes 945,162.08 bytes/sec
total size is 67,562,198 speedup is 1.00
$
rsync에 대한 자세한 내용은 manual page 에서 찾을 수 있습니다.
Reference
이 문제에 관하여(RSync 기본 명령어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/livialima/rsync-basic-commands-4fbi텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)