나는 rsync 맨페이지와 serverfault에 관한 몇 가지 관련 질문을 자세히 살펴보았습니다. -R, -L 및 -l 옵션을 시도했지만 운이 없습니다.
문제는: 로컬에서 원격으로 디렉토리를 보낼 때 심볼릭 링크를 로컬 디렉토리를 기준으로 재배치하여 원격 시스템의 대상 디렉토리를 기준으로 하는 옵션(또는 옵션 조합)이 있습니까?
다음은 내가 보내려는 내용의 최소한의 예입니다.
로컬 디렉토리: /home/bob/foo
/home/bob/foo/a --> /home/bob/foo/bar
/home/bob/foo/bar
이것이 내가 원하는 방식이다
원격 디렉토리: /u/apps/foo
/u/apps/foo/a --> /u/apps/foo/bar
/u/apps/foo/bar
예를 들어, rsync -az /home/bob/foo/ remote:/u/apps/foo/
다음과 같이 끝납니다.
/u/apps/foo/a --> /home/bob/foo/bar
/u/apps/foo/bar
두 경우 모두 원격 시스템에 존재하는지 여부는 중요하지 않습니다 /home/bob/foo/bar
. 결과는 확실히 내가 원하는 것이 아닙니다.
답변1
링크가 절대 경로를 가리키는 경우에는 이를 우회할 수 있는 방법이 없습니다. 심볼릭 링크를 상대적으로 만들어 이 문제를 해결할 수 있습니다.
/홈/밥/foo/a --> ./bar /홈/밥/foo/바
그러나 이는 이러한 링크를 생성하는 방법과 링크 수에 따라 어려울 수 있습니다.