web-dev-qa-db-ja.com

rsyncをシンボリックリンクにコピーする方法は?

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

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

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

異なるパラメーターを使用していくつかのコマンドを実行しました。私が最後に得たのはこれでした:

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

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

何が足りないのですか?

1
Maxime

--keep-dirlinksが必要です

--keep-dirlinksは、レシーバーのシンボリックリンクされたdirをdirとして扱います

1
RalfFriedl