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



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

我的源结构:

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

我只想在单个 rsync 事务中将文件1.jpg和文件2.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/

我不知道如何让它变得简单?

由于rsync非常灵活,因此有多种方法可以完成您要做的事情。

想到的一个解决方案

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

或使用外壳扩展

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

使用子外壳而不是pushd更健壮 -popd习语,因为使用子外壳时,如果命令失败,命令不会卡在子目录中rsync

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

或者使用现代rsync版本,可以避免更改目录,因为./语法(从 rsync 版本 2.6.7 开始可用)可以避免发送src目录名称

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

最新更新