rsync:在一个同步中将选定文件从同一目录复制到目标

时间:2018-02-18 17:54:03

标签: rsync file-copying

如何使用rsync将选定/特定文件从源复制到目标目录?

我的源码结构:

src ->|
      |--> file1.jpg
      |--> file2.jpg
      |--> file3.jpg

dest->|
      |--> file1.jpg
      |--> file2.jpg

我想在单个rsync事务中仅将 file1.jpg file2.jpg 复制到目标位置?

我试过的,

rsync -avcz --file-from=file1.jpg,file2.jpg src/ dest/ # since it didnt work i did through looping

循环:

rsync -avcz src/file1.jpg dest/

我不知道如何简单化?

1 个答案:

答案 0 :(得分:1)

由于rsync非常灵活,因此有多种方法可以实现您的目标。

想到一个解决方案

pushd src/ ; rsync -avcz file1.jpg file2.jpg ../dest/ ; popd

或使用shell扩展

pushd src/ ; rsync -avcz file{1,2}.jpg ../dest/ ; popd

使用子shell而不是pushd - popd习惯用法更加健壮,因为如果rsync失败,命令不会卡在子目录中

( cd src/ ; rsync -avcz file{1,2}.jpg ../dest/ )

或者使用现代rsync版本,可以避免更改目录,因为./语法(自rsync版本2.6.7起可用)可以避免发送src目录名< / p>

rsync -avcz src/./file{1,2}.jpg dest/