订购由rsync传输的文件

时间:2009-08-05 09:59:35

标签: backup rsync

我们目前正在使用rsync来运行备份作业。这项工作需要几个小时。由于备份的某些部分比其他部分更重要,我们希望确保在其他所有部分之前备份它们(即rsync首先传输这些文件)。这应该可以使用rsync --files-from轻松完成。

不幸的是,我们需要优先处理的文件与单个目录中的所有其他文件(平面层次结构,boo!)并列,它们只有一个特定的扩展名来识别它们。因此,我们希望获得rsync 传输的文件列表,在本地对其进行排序,然后使用rsync将其传递给rsync --files-from

使用rsync -v --dry-run可以获得我们的大部分内容(我认为),但会显示目录添加和文件属性更改,这意味着我们并没有真正获得可立即使用的列表。

所以,我的问题是:如何从rsync获取要使用的文件列表?

3 个答案:

答案 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

但是,我会考虑其他建议尝试两次通过。此外,您是否尝试过启用压缩?