对 rsync 传输的文件进行排序

发布于 2024-07-30 03:06:11 字数 478 浏览 7 评论 0原文

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

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

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

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

We're currently using rsync to run a backup job. This job takes several hours. As there are some parts of the backup that are more important than others, we would like to ensure that they are backed up before everything else (i.e. that rsync transfers those files first). This should be easily accomplished using rsync --files-from.

Unfortunately, the files that we need to prioritise are alongside all of the other files in a single directory (flat hierarchy, boo!), they just have a specific extension to identify them. As such, we'd like to get a list of the files that rsync would transfer, sort it locally and then pass it to rsync using rsync --files-from.

Using rsync -v --dry-run gets us most of the way there (I think), but displays directory-additions and file property changes, meaning we don't really get an immediately usable list.

So, my question is this: how can I get a list of files to use from rsync?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

溺深海 2024-08-06 03:06:11

我会对@alberge的答案发表评论,但我没有足够的声誉:-

(@Daniel,如果您使用单独的rsync命令,我可以建议使用for循环:

for pp in "*.png" "*.jpg" "*.bmp" "*.gif"
do
    rsync ... $pp
done

只需一个rsync如果您想要进行任何更改,则需要更改命令以及要同步的易于管理的列表。for 语句中的顺序是它们的使用顺序。

I would have commented on @alberge's answer but I don't have enough reputation :-(

@Daniel, if you are using separate rsync commands might I make a suggestion to use a for loop:

for pp in "*.png" "*.jpg" "*.bmp" "*.gif"
do
    rsync ... $pp
done

just one rsync command to alter should you want to make any changes and a nice easy managable list of things to sync. The order in the for statement is the order in which they are used.

若言繁花未落 2024-08-06 03:06:11

您可以先使用rdiff-backup,或者只是将rsync替换为rdiff-backup。 例如,您可以通过以下方式获取文件列表:

rdiff-backup --compare in-dir user@host::out-dir

但是,我会接受其他建议来尝试两次传递。 另外,您是否尝试过启用压缩?

You could use rdiff-backup first, or just replace rsync with rdiff-backup. For example, you can get you list of files with:

rdiff-backup --compare in-dir user@host::out-dir

However, I'd go with the other suggestion to try two passes. Also, have you tried enabling compression?

会发光的星星闪亮亮i 2024-08-06 03:06:11

运行 rsync 两次可以吗? 即对高优先级文件运行一次,对其余文件运行一次?

Would running rsync twice work? i.e. run it once for the high-priority files and once for the rest?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文