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

コマンドは成功し、フォルダとリンクをコピーします。問題は、リンクが古い宛先を指していることです。
ソースパスはapp/cg/dev と 宛先パスはtmp/app/cg/dev そして今、コピーしたリンクはapp/cg/dev/somefolderを指しています。これらを指さす必要があります一時/app/cg/dev/somefolder 。

すべてのリンクを rsync した後、リンク パスを読み取り、宛先パスを連結できれば、リンクを修正する良い方法になります。例

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

誰かそのコードを書くのを手伝ってくれませんか?

関連情報