我想对我的服务器进行裸机备份,但我担心打开的文件。
我的服务器包含许多 SQLite 数据库,并且 SQLite 守护进程 24/7/365 全天候处于活动状态。据我所知,当守护进程处于活动状态时,您无法通过简单地复制文件来备份 SQLite 数据库,否则备份将被破坏。
我知道一些裸机备份工具为某些类型的文件提供特定代理,但没有人提供 SQLite 代理。
裸机备份如何处理打开的文件和写入缓存?
答案1
有一个SQLite 备份 API可以用来命令行脚本。以前,备份脚本在进行复制时往往会获得阻止写入的锁。
能够对存储(LVM 或其他方式)进行快照也有帮助。暂停写入足够长的时间以进行快照,然后在方便时复制不再更改的快照。
这种模式并非 SQLite 或裸机所独有。进行在线备份时,许多类型的数据库都应处于静止状态。