rsync:シンボリックリンクを通常のファイルにコピーする

rsync:シンボリックリンクを通常のファイルにコピーする

すでに重要なデータがたくさんあるドライブに、さまざまなファイルを含む大容量ディレクトリをコピーする必要があります。

削除されたシンボリックリンクをコピーしたいのですが、ドライブはexfatでシンボリックリンクをサポートしていません。ファイルにはすでに多くのデータが含まれているため、そのデータをシンボリックリンクをサポートする形式にフォーマットするために転送する必要はありません。

rsyncを使って次のシンボリックリンクを読む方法はありますか?

/etc/apache2/sites-enabled/mysite.conf -> ../sites-available/mysite.conf

次の一般的なファイルを生成します。

<rsync-destination>/etc/apache2/sites-enabled/mysite.conf.rsync-munged

テキストが含まれています

../sites-available/mysite.conf

私はrsyncに組み込まれているか、bashパイプラインで実行されるソリューション、または少なくともLinux上の基本ツールの一部を好みますが、rsync機能+この機能を提供する他のソフトウェアにもオープンです。

編集する:

私はrsyncがそのようなことをすることができないことを知りました。これを手動で行う方法を見つけたようです。

シンボリックリンクを除くすべてをrsyncしてから、別の検索操作を実行してソース内のすべてのシンボリックリンクを識別し、bashスクリプトを使用して手動で生成します。

stdioからシンボリックリンクデータを手動で抽出する必要がありますが、どうすればよいかわかりません。 ls -l より多くのデータがあると邪魔になります。

ベストアンサー1

欲しいものは直接可能ではありません。

  • シンボリックリンクをサフィックス名を持つファイルに変換することはできません。munged
  • シンボリックリンクを通常のファイル()に変換できますが、--fake-superそれに関連するメタデータ(シンボリックリンクに再変換可能)はexFATファイルシステムに保存できません。

その他の可能性

  • この--munge-linksオプションはシンボリックリンクをシンボリックリンクとして保持しますが、シンボリックリンクの値を変更してターゲットシステムで無効にします。 exFATファイルシステムには役に立ちません
  • --copy-linksを使用してシンボリックリンクを物理ファイルに拡張できます。これは、シンボリックリンク情報が失われ、データがソースシステムに返されたときに再構成できないため、望ましくない可能性があります。

私が見ることができる唯一の他の解決策は、デフォルトのLinuxファイルシステムとしてマウントできる大きなファイルをターゲットシステムに作成することです。その後ext4、そのファイルシステムにバックアップを送信し、exFAT以上の追加機能を利用できます。セット。

おすすめ記事