동기화할 대상이 디렉터리인 경우에도 적용 가능합니다. 다음 명령은 퍼팻 코드 디렉터리를 동기화합니다. 원본 경로 끝에 슬래시를 붙이지 말고 명령을 입력해야 대상 디렉터리 경로까지 동기화됩니다.
administrator@vmgate:~$ rsync -azvh code/environments/production ~/rsynctest administrator@vmgate:~$ ls -al ~/rsynctest ... drwxr-xr-x 6 administrator administrator 4096 Jun 7 00:09 production
Q 경로 다음에 슬래시(/)를 조심하라고요?
A rsync 명령을 실행할 때 원본 경로에 붙는 슬래시(/)에 따라 사본 경로가 달라질 수 있습니다. 슬래시를 붙이면 원본 디렉터리는 제외하고 디렉터리 내 파일과 하위 디렉터리만 복사합니다.
테스트를 위해 디렉터리를 생성해 보겠습니다.
administrator@vmgate:~$ mkdir ~/rsynctest/puppettest
원본 경로 code/environments/production 끝에 슬래시 /를 붙여 rsync 명령을 실행했습니다.
administrator@vmgate:~$ rsync -azvh code/environments/production/ ~/rsynctest/puppettest
명령 결과 production 디렉터리는 제외하고 하위 디렉터리 내용만 복사된 것을 확인할 수 있습니다.
administrator@vmgate:~$ ls ~/rsynctest/puppettest/
data environment.conf hiera.yaml manifests modules READ.md