rsync: 절대 심볼릭 링크를 재배치하는 방법은 무엇입니까?

rsync: 절대 심볼릭 링크를 재배치하는 방법은 무엇입니까?

나는 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/바

그러나 이는 이러한 링크를 생성하는 방법과 링크 수에 따라 어려울 수 있습니다.

관련 정보