ファイルリストを単一のディレクトリに再同期する

ファイルリストを単一のディレクトリに再同期する

ローカルコンピュータの単一のディレクトリと同期したいリモートコンピュータのさまざまなディレクトリにあるファイルのリストがあります。

単一ファイルの場合は、user@remote:dir1/dir2/file1 ~/localIEの要件に適しています。~/local/file1

使用すると、--files-from不要なディレクトリ構造が生成されます。~local/dir1/dir2/file1

注:他のディレクトリの重複したファイル名がファイルを上書きできることがわかります。~/local

ベストアンサー1

rsync( )に関するドキュメントは、推奨man rsync事項の1つとしてこの特定のシナリオを提供します。

--files-from=FILEこのオプションを使用すると、転送するファイルの正確なリストを指定できます(指定されたFILEまたは-標準入力の ""から読み取られます)。また、指定されたファイルとディレクトリのみをより簡単に転送できるように、rsyncのデフォルトの動作を調整します。

o--relativeファイル内の各項目に指定されたパス情報を保持する暗黙 () オプション (このオプションをオフにするか、使用)。-R--no-relative--no-R

[...]

これを問題に適用すると、

rsync -av --files-from=/tmp/filelist --no-R user@remote:dir1/dir2/file1 ~/local

同じ名前の複数のファイルがあると、未定義の動作が発生し、rsyncチェックサムの不一致が原因でエラーが発生し、失敗する可能性があります。しないでください。

おすすめ記事