rsync가 find -H와 같이 cmdline에 표시된 심볼릭 링크 디렉터리를 역참조하도록 합니다.

rsync가 find -H와 같이 cmdline에 표시된 심볼릭 링크 디렉터리를 역참조하도록 합니다.

rsync가 cmdline의 dirs로 지정된 디렉토리에 심볼릭 링크를 복사하고 복사된 트리의 모든 심볼릭 링크를 그대로 두기를 원 find -H하지만 유일한 방법은 불쾌한 해킹입니다.

rsync -aR --rsync-path='cd /sender/parent/dir/of/tree; rsync' symlinkeddir/ target

문제는 이것이 이 경로 세트에만 적용되는 rsync 백업 스크립트에서 예외가 되므로 rsync원하는 작업을 수행하기 위해 동일한 명령(또는 더 엄격하게는 ONE )을 사용할 수 없다는 것입니다. find -H-비슷한 행동은 괜찮을 것입니다. :/

답변1

somelink디렉토리에 대한 심볼릭 링크 somedir인 경우

rsync -a somelink/. target/

somedir내용을 에 복사합니다 target.

소스 코드에 상대 심볼릭 링크만 남아 있는 경우 다음을 사용할 수 있습니다.

rsync -a --copy-unsafe-links somelink target/

대상 내부의 심볼릭 링크 경로를 보존하려는 경우 rsync만으로는 원하는 작업을 수행할 수 없다고 생각합니다. 일부 셸 코드와 함께 rsync를 사용하여 이 작업을 수행할 수 있습니다. 소스를 반복하고 대상 하위 디렉터리를 명시적으로 지정합니다.

mkdir -p target/somelink
rsync -a somelink/. target/somelink

관련 정보