rsync:一次同步将选定文件从同一目录复制到目标位置
rsync: copy selected files from same directory into destination in one sync
如何使用 rsync 将 selected/specific 文件从源目录复制到目标目录?
我的源代码结构:
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/
我不知道如何让它变得简单?
由于 rsync
非常灵活,因此有不止一种方法可以完成您想要做的事情。
想到一个解决方案
pushd src/ ; rsync -avcz file1.jpg file2.jpg ../dest/ ; popd
或使用shell扩展
pushd src/ ; rsync -avcz file{1,2}.jpg ../dest/ ; popd
使用 subshell 而不是 pushd
-popd
习惯用法更健壮,因为使用 subshell 命令不会卡在子目录如果 rsync
失败
( cd src/ ; rsync -avcz file{1,2}.jpg ../dest/ )
或者使用现代 rsync
版本可以避免更改目录,因为 ./
语法(自 rsync 版本 2.6.7 起可用)可以避免发送 src
目录名字
rsync -avcz src/./file{1,2}.jpg dest/
如何使用 rsync 将 selected/specific 文件从源目录复制到目标目录?
我的源代码结构:
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/
我不知道如何让它变得简单?
由于 rsync
非常灵活,因此有不止一种方法可以完成您想要做的事情。
想到一个解决方案
pushd src/ ; rsync -avcz file1.jpg file2.jpg ../dest/ ; popd
或使用shell扩展
pushd src/ ; rsync -avcz file{1,2}.jpg ../dest/ ; popd
使用 subshell 而不是 pushd
-popd
习惯用法更健壮,因为使用 subshell 命令不会卡在子目录如果 rsync
失败
( cd src/ ; rsync -avcz file{1,2}.jpg ../dest/ )
或者使用现代 rsync
版本可以避免更改目录,因为 ./
语法(自 rsync 版本 2.6.7 起可用)可以避免发送 src
目录名字
rsync -avcz src/./file{1,2}.jpg dest/