
あるサーバーから別のサーバーにデータをプッシュする必要があります。
ソースには、ファイル、フォルダ、シンボリックリンクを含むフォルダ( という名前vhosts
)があります。これらすべてをファイルとして(シンボリックリンクとしてではなく)コピーしたいです。
宛先には、vhosts
すべてのファイルを受け取るためのフォルダー ( という名前) があります。このフォルダーには、別のボリュームへのシンボリックリンクであるフォルダーが 1 つ含まれています。これは、受け取るデータがそのディスクには大きすぎるためです。そのため、別のボリュームへのシンボリックリンクとしてフォルダーが作成されました。
異なるパラメータでいくつかのコマンドを実行しました。最後に得られた結果は次のとおりです。
rsync -rLzP vhosts/ [email protected]:/home/user/vhosts/
問題は、これによって宛先フォルダのシンボリック リンクが削除され、ディレクトリが作成されたことです。データは 2 番目のボリュームにコピーされないため、タスクを完了できません。これで-L
解決すると思いましたが、期待したほどの効果はありませんでした。
何が足りないのでしょうか?
答え1
必要なのは--keep-dirlinks
--keep-dirlinks 受信側のシンボリックリンクされた dir を dir として扱う