ディレクトリのリストとそのディレクトリを含むテキストファイルがあります。絶対パス
$ cat DirectoriesToCopy.txt
/data/Dir1
/data/Dir2
rsyncを使用してこれらのすべてのディレクトリを別の場所にコピーし、絶対パスを維持したいと思います。
次のrsyncコマンドを試しましたが機能しません
rsync -avr --include-from=DirectoriesToCopy.txt --exclude='*/' --exclude='/*' / /media/MyDestination/
ここで何の問題がありますか?
ベストアンサー1
rsync [リストから]を使用してこれらのすべてのディレクトリをコピーし、絶対パスを別の場所に維持したいと思います。
--include
または--filter
、バリアントを使用すると状況が混乱するだけなので、使用しないでください。代わりに--files-from=_filename_
。場所テスト。 )
1行に1つのディレクトリ/ファイルごとにファイルにディレクトリリストを作成します。
--files-from=
上記のファイルでrsyncを使用してください。ソースパス名をターゲットの末尾にコピーするには、
--relative
/オプションを使用します。-R
-a
オプションがあっても-r
マニュアルページに含めてください。どちらの場合も、-rオプションが有効になると、そのディレクトリの階層全体も送信されます(-aは-rを意味しないため、-rは--files-fromを使用して明示的に指定する必要があることに注意してください)。 。
完全なコマンド:
rsync ${DEBUG:+-nv} -arR --files-from=<list_of_files.txt> <top-level-dir> <target-dir>
(ファイル位置ファイルリスト.txt親戚であるか、次に発見する必要があります。トップレベルディレクトリ)
(DEBUGが設定されている場合、rsyncはコピーされたコンテンツのみを印刷します。)