我们目前正在使用rsync
来运行备份作业。这项工作需要几个小时。由于备份的某些部分比其他部分更重要,我们希望确保在其他所有部分之前备份它们(即rsync
首先传输这些文件)。这应该可以使用rsync --files-from
轻松完成。
不幸的是,我们需要优先处理的文件与单个目录中的所有其他文件(平面层次结构,boo!)并列,它们只有一个特定的扩展名来识别它们。因此,我们希望获得rsync
将传输的文件列表,在本地对其进行排序,然后使用rsync
将其传递给rsync --files-from
。
使用rsync -v --dry-run
可以获得我们的大部分内容(我认为),但会显示目录添加和文件属性更改,这意味着我们并没有真正获得可立即使用的列表。
所以,我的问题是:如何从rsync获取要使用的文件列表?
答案 0 :(得分:4)
运行rsync两次会有效吗?即为高优先级文件运行一次,为其余文件运行一次?
答案 1 :(得分:1)
我会对@ alberge的回答发表评论,但我没有足够的声誉: - (
@Daniel,如果您使用单独的rsync
命令,我可以建议使用for循环:
for pp in "*.png" "*.jpg" "*.bmp" "*.gif"
do
rsync ... $pp
done
如果要进行任何更改,只需要一个rsync命令即可进行更改,以及一个易于管理的易于管理的事物列表。 for语句中的顺序是它们的使用顺序。
答案 2 :(得分:0)
您可以先使用rdiff-backup,或者只使用rdiff-backup替换rsync。例如,您可以使用以下命令获取文件列表:
rdiff-backup --compare in-dir user@host::out-dir
但是,我会考虑其他建议尝试两次通过。此外,您是否尝试过启用压缩?