如何才能将 maildir 逐步备份到 cifs 共享,而不用每次都创建完整的映像?
我运行了 dovecot 和一些大型邮件帐户。唯一可用的备份位于 Windows 服务器上。
我更倾向于在整个目录结构上使用 rsync 和创建每个邮件帐户(甚至整个 dovecot 邮件目录)的存档之间的解决方案。
我考虑过创建一个脚本来遍历目录结构,并根据时间戳创建每个文件夹的存档(如果有任何更新)。如有必要,我可能会对所有目录名称进行 base64 编码。我不需要保留任何用户权限,因为整个邮件目录都在使用 vmail 用户。有更好的解决方案吗?我还需要考虑任何 maildir 锁定吗?
答案1
不确定您是否会找到比安装 Windows 共享并运行 rsync 更好的解决方案。问题是每次都要重新传输所有文件吗?
使用正确的 rsync 选项应该只重新传输已更改的文件,并可以删除备份中不再存在于源中的任何文件。
Maildir 不需要文件锁定来读取,因此 rsync 不必担心锁定源文件。
答案2
使用rdiff-备份可以为你节省大量脚本编写时间,而且使用自己开发的解决方案很难达到同样的效率水平。你只会得到一个你备份的文件系统更改的存档,你可以在其中运行清理作业以丢弃早于这个时间的备份。
如果你可以启动 rdiff-backup 服务器进程直接在 Windows 主机上,这样可以为您节省最多的磁盘空间,但您将无法获得备份的备份。
或者,您可以运行 rdiff-backup 到 dovecot 服务器上的本地备份目录,然后使用 dovecot 中的 rsync 或 Windows 中的 robocopy 存档内容。这一切都假设您可以使用 cifs 或 samba 等可靠地连接。