
ディレクトリ構造をある場所から別の場所にコピーする必要があります。フォルダーとシンボリックリンクのみをコピーする必要があります。
コマンドを使う
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
誰かそのコードを書くのを手伝ってくれませんか?