rsync는 두 장치 사이의 파일을 동기화하려고 개발된 원격 동기화(Remote SYNChronization) 도구입니다. 간단한 조작만으로 빠르고 효율적으로 양쪽의 파일을 복제해서 같게 만들 수 있어 리눅스 환경의 백업 도구로 널리 쓰이고 있습니다. ‘rsync [옵션] [원본 경로] [사본 경로]’ 형식으로 입력합니다.
파일을 복사해 봅시다. 복사할 디렉터리를 저장 장치에 생성합니다. 마찬가지로 저장소가 같은 파일 시스템에 존재하는 백업은 바람직하지 않습니다.
administrator@vmgate:~$ mkdir ~/rsynctest
rsync로 공개키 파일을 복사해 보겠습니다. -z(--compress) 옵션은 자료를 압축해서 전송하고 -v(--verbose) 옵션은 동기화 과정을 화면에 표시합니다. 여기에 -h(--human-readable) 옵션을 추가해서 동기화 정보를 읽기 편한 형식으로 변환해서 보여 주도록 합니다.
administrator@vmgate:~$ rsync -zvh ~/.ssh/authorized_keys ~/rsynctest administrator@vmgate:~$ ls -al ~/rsynctest/authorized_keys -rw------- 1 administrator administrator 410 Jun 6 22:45 /home/administrator/rsynctest/authorized_keys
-a(--archive) 옵션은 자주 사용하는 여러 옵션을 함께 적용하는 가장 기본적인 동기화 옵션입니다. 구체적으로 하위 디렉터리 내용까지 재귀적으로 복사하는 -r(--recursive) 옵션과 함께 파일 속성을 그대로 유지하는 -l(--links), -p(--perms), -t(--times), -g(--group), -o(--owner), -d 옵션을 동시에 적용한 결과(링크, 접근 권한, 시간, 그룹, 소유자, 장치 파일)와 동일합니다. 기본적으로 rsync로 같은 대상을 다시 동기화하면 변경된 부분만 적용하는 증분 백업이 이루어집니다. 명령 결과 파일 정보가 그대로 보존된다는 사실을 확인할 수 있습니다.