rsync が find -H など、cmdline に表示されるシンボリックリンクディレクトリを逆参照するようにします。

rsync が find -H など、cmdline に表示されるシンボリックリンクディレクトリを逆参照するようにします。

rsyncがcmdlineのdirsで指定されたディレクトリにシンボリックリンクをコピーし、コピーされたツリーのすべてのシンボリックリンクをそのままにしたいのですfind -Hが、唯一の方法は不快なハッキングです。

rsync -aR --rsync-path='cd /sender/parent/dir/of/tree; rsync' symlinkeddir/ target

問題は、これがこのパスセットにのみ適用されるrsyncバックアップスクリプトで例外になるため、目的の操作をrsync実行するために同じコマンド(またはより厳密にはONE)を使用できないことです。find -H- 同様の行動は大丈夫でしょう。 :/

ベストアンサー1

somelinkディレクトリへのシンボリックリンクsomedirの場合

rsync -a somelink/. target/

somedir内容をにコピーしますtarget

ソースコードに相対シンボリックリンクのみが残っている場合は、次のものを使用できます。

rsync -a --copy-unsafe-links somelink target/

ターゲット内のシンボリックリンクパスを保存したい場合は、rsyncだけでは目的の操作を実行できないと思います。一部のシェルコードでrsyncを使用してこれを行うことができます。ソースを繰り返し、ターゲットサブディレクトリを明示的に指定します。

mkdir -p target/somelink
rsync -a somelink/. target/somelink

おすすめ記事