rsync でシンボリックリンクにコピーするにはどうすればよいですか?

rsync でシンボリックリンクにコピーするにはどうすればよいですか?

あるサーバーから別のサーバーにデータをプッシュする必要があります。

ソースには、ファイル、フォルダ、シンボリックリンクを含むフォルダ( という名前vhosts)があります。これらすべてをファイルとして(シンボリックリンクとしてではなく)コピーしたいです。

宛先には、vhostsすべてのファイルを受け取るためのフォルダー ( という名前) があります。このフォルダーには、別のボリュームへのシンボリックリンクであるフォルダーが 1 つ含まれています。これは、受け取るデータがそのディスクには大きすぎるためです。そのため、別のボリュームへのシンボリックリンクとしてフォルダーが作成されました。

異なるパラメータでいくつかのコマンドを実行しました。最後に得られた結果は次のとおりです。

rsync -rLzP vhosts/ [email protected]:/home/user/vhosts/

問題は、これによって宛先フォルダのシンボリック リンクが削除され、ディレクトリが作成されたことです。データは 2 番目のボリュームにコピーされないため、タスクを完了できません。これで-L解決すると思いましたが、期待したほどの効果はありませんでした。

何が足りないのでしょうか?

答え1

必要なのは--keep-dirlinks

--keep-dirlinks 受信側のシンボリックリンクされた dir を dir として扱う

関連情報