按照这个答案针对这个问题备份正在进行时我可以继续工作吗?”Ubuntu 中的默认备份软件 Deja Dup 在备份时容易出现一致性问题。也就是说,如果用户在备份过程中更改可写文件系统上的文件,则备份可能不处于合理状态,而完全恢复备份将恢复损坏的系统。即使恢复单个文件也可能会恢复损坏的文件。
建议在备份过程中不要进行任何工作,这是一种解决方法,但并不实用。用户“不工作”并不意味着文件没有在后台被修改。
我链接到的答案对快照是这样说的:
这可以通过使用 LVM 或新一代文件系统(如 BtrFS)来实现。这将对整个卷进行快照,就像您拍摄照片一样。仍然可以进行更改/写入,但备份过程是从之前拍摄的只读快照运行的。
例如,在 Windows 系统上,大多数备份软件都在“影子副本”上运行,这是操作系统维护的文件系统语义一致的快照。用户可以继续工作,进一步的修改将不属于当前正在运行的备份。
但是,我不知道 Ubuntu 上的 Deja Dup 是否使用任何类型的快照(如果可用)。
我的问题是:是否有适用于 Ubuntu 的自动备份软件:
- 通过 GUI 易于使用,适合不愿意使用命令行或编写自己的脚本的用户
- 使用快照确保备份的一致性,或者对备份源强制执行只读(虽然很严厉但完全有效),或者任何其他避免不一致的方法?
答案1
除非您是 24/7 全天候营业的商店,否则一般来说,您会让服务器在凌晨 2 点左右注销所有人,并执行两个小时或任何时间的备份。这通常与“日终处理”一起完成,后者将详细记录汇总到主文件记录中,关闭月末、年末等。
基本问题是,如果有人添加或删除记录,某些文件会“变形”。以 ISAM(索引顺序访问方法)文件为例,其中有一个原始数据文件,然后是每个键(即客户编号、电话号码等)的单独索引文件。如果您先备份客户编号的密钥文件,然后用户添加了新客户,并且您备份了原始数据文件,则会出现数据完整性错误。
如今,SQL 是数据库的流行选择,我认为在这种情况下执行 SQL 转储时无需备份密钥。学习 SQL(发音为 Sea-Quill)已经在我的待办事项清单上 30 多年了。
无论您的环境如何,您都必须仔细研究备份要求并通过将其还原到测试数据库来定期测试它们。
备份程序通常有些过分,因为它们可以重新安装。但您自己开发的脚本除外。
再次强调,最安全的备份是所有用户退出系统时的备份。如果无法保证这一点,则应寻求专业帮助。