<根> /AA/BB/AABB1F1C6FC86DB2DCA6FB0167DE8CF7288798271EA24B68D857CBC5CF8DC66A.pdf
我使用每10分钟运行一次使用rsync将文件推送到远程服务器的cron作业保留此文件结构的实时副本.由于文件在添加后永远不会被删除或更改,实际上它只会发送新文件.
我发现rsync用于比较两个目录(即没有变化)的带宽约为11 MB,随着文件总数的增长而增加(目前为148 207).这是有道理的 – rsync实际上必须将所有文件名的列表发送到远程服务器,以确定远程服务器上缺少哪些文件名.
所以我的问题是:有没有办法减少使用的带宽?它不一定是基于rsync的解决方案,但它更可取.我正在考虑将rsync查看的文件限制为仅最近修改过的文件,即在上次同步后修改,但似乎不推荐:rsync only files created or modified after a date and time
还有其他建议吗?
解决方法
>触摸一个文件作为你的“高栏”,这需要系统地命名,而不是覆盖你的最后一个“高栏”,现在是你的“低栏”.该脚本将在这两个文件日期之间传输mtime.请注意,您不得重命名或以其他方式更改这些文件上的日期戳.
>使用find with -newer< lowbarfile> ! -newer< highbarfile>选择要传输的文件,像你的参考问题一样管道到rsync.
>每周(或每晚),重新同步整个目录,以确保没有遗漏任何内容.获取以这种方式传输的文件的电子邮件日志,以便您可以查看先前步骤是否出现问题.
这并不像inotifywatch那样令人敬畏,但它也不会在8000个目录之后中断,并且您的层次结构似乎最多使用256 65536 dirs.