备份石墨耳语数据库最安全的方法是什么,仅使用 tar 是否安全,还是需要其他方法来防止损坏?
答案1
有几种此类数据库备份选项,并且假设有一个简单的机制来确保一致性(暂时停止数据库/锁定写访问等),它们大致相似。
关键是(正如 Craig Estey 在他的评论中提到的)使用某种机制来确保你写的内容是一致的。如果你得到的是垃圾,那么备份数据库就毫无意义了!
我确实找到了此链接来自 Swift 的演示展示了他们如何利用LD_PRELOAD
并flock()
锁定 Whisper 文件并以一致状态备份数据库。看起来他们还开源代码!
一般来说,备份如下内容:
涂上焦油
优点:
- 简单的
- 便携的
- 无需额外工具
- 压缩率灵活(xz、gzip、bz2)
缺点:
- 可能会很慢
- 增量备份是可能的,但有点麻烦
Rsync 它
优点:
- 也简单
- 快速地
- 增量备份很容易
- 运输过程中的压缩
缺点:
- 使用 SSH,因此如果你不复制到远程服务器,可能会比其他工具慢
- 如果不使用 tar/gzip 等,则最后无法进行压缩。
文件系统快照
优点:
- 几乎立即
- 简单的
- 可能节省空间?
缺点:
- 需要使用 LVM/类似方式设置驱动器
- 不像其他解决方案那么简单。