web-dev-qa-db-ja.com

1つのコマンドで2つのファイルタイプをRsyncしますか?

同じパスを繰り返さずに、それらを1行に書き込む方法は?

rsync -a root@somewhere:/folder/remote/*.txt .
rsync -a root@somewhere:/folder/remote/*.jpg .
13
Cheng

私はそれを次のように書きます:

rsync -a root@somewhere:/folder/remote/*.{txt,jpg} .
18
Gert
rsync -a --include='*.txt' --include='*.jpg' --exclude='*' root@somewhere:/folder/remote/ .

/の最後の/folder/remote/と、インクルードルールの後の--exclude='*'の配置が重要であることに注意してください。)ブレース展開をサポートするシェル(bash、ksh、zshなど)では、次のようになります。

rsync -a --include='*.'{txt,jpg} --exclude='*' root@somewhere:/folder/remote/ .

サブディレクトリにもファイルをコピーする場合は、--include='*/' --Prune-empty-dirsを追加します。