새 대상에 대한 rsync 링크

새 대상에 대한 rsync 링크

한 위치에서 다른 위치로 디렉토리 구조를 복사해야 합니다. 폴더와 심볼릭 링크만 복사하면 됩니다.

나는 명령을 사용한다

find $SOURCE_PATH/ \( -type l -o -type d \)  -printf "%P\0" | rsync --files-from - --from0 -av  $SOURCE_PATH $USER@$DESTINATION_SERVER:/$DESTINATION_PATH/$SOURCE_PATH

명령이 성공하면 폴더와 링크가 복사됩니다. 내 문제는 링크가 이전 대상을 가리키기 때문입니다.
내 소스 경로는애플리케이션/cg/dev 및 대상 경로는TMP/응용 프로그램/cg/dev 이제 복사한 링크는 app/cg/dev/somefolder를 가리킵니다. 나는 그들이 가리킬 필요가있다tmp/app/cg/dev/somefolder.

모든 링크를 동기화한 후 이를 수정하는 좋은 방법은 대상 경로를 연결하는 대신 링크 경로를 읽을 수 있는 경우입니다. 예

find . -type l | while read l; do
concatenate destination folder and readlink l
done

누군가 이 코드를 작성하는 데 도움을 줄 수 있나요?

관련 정보