在我的本地计算机上,我有一些目录(带有子目录),其中包含许多文件(jpeg
和nef
),例如:
1.jpg
1.nef
2.jpg
2.nef
....
我想要做的是在高清上同步所有文件(和jpeg
)nef
,但同步后,仅在本地计算机上删除nef
文件并保留jpg
.
有没有办法将其与 结合起来--remove-source-files
?
答案1
为了安全起见,我会在使用传输两种类型的文件.nef
后在单独的步骤中删除文件。rsync
例如,像这样:
rsync --verbose --archive --prune-empty-dirs \
--include='*.nef' \
--include='*.jpg' \
--include='*/' \
--exclude='*' \
"$source/" "$target"
find "$source" -type f -name '*.nef' -delete
这里的命令rsync
只会复制.nef
和.jpg
文件(它会跳过任何其他文件,并且不会$target
因为而创建空目录--prune-empty-dirs
),然后该find
命令将删除所有.nef
文件。
我倾向于从不使用--remove-source-files
with rsync
。
答案2
我们可能需要同步两次,因为我们没有选项排除源删除。
尝试作为,
rsync -av --remove-source-files --exclude='*.jpg' Source/ Destination ; rsync -av Source/*.jpg Destination