如何使用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/
我不知道如何简单化?
答案 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/