ローカルコンピュータの単一のディレクトリと同期したいリモートコンピュータのさまざまなディレクトリにあるファイルのリストがあります。
単一ファイルの場合は、user@remote:dir1/dir2/file1 ~/local
IEの要件に適しています。~/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
チェックサムの不一致が原因でエラーが発生し、失敗する可能性があります。しないでください。