欢迎访问机房运维工作室

爱数知识库

AnyBackup 通过 sqlite 工具修复 ofs.db 最佳实践

频道:爱数知识库 日期: 浏览:79

AnyBackup 通过 sqlite 工具修复 ofs.db 最佳实践

关键字

sqlite3、ofs.db

适用产品

  • AnyBackup 6.0.x
  • AnyBackup 5.0.x
  • AnyBackup 3.5.x
  • 超易备 5.0.x
  • 超易备 3.0.x

目的

在 AnyBackup 中的 ofs.db 文件损坏的情况下,通过 sqlite 工具对其进行修复。

解决方案

使用 sqlite 工具对 ofs.db 数据库文件进行修复,请按照以下步骤执行:
步骤一,导出 ofs.db

1. 使用 admin 用户登录 AnyBackup 管理控制台,依次点击数据保护 > 定时备份,在任务监控页面,检查并停止运行中的备份任务。
2. 通过 SSH 工具登录 AnyBackup 操作系统,执行如下命令,停止 AnyBackupMediaServer 服务。
/etc/init.d/AnyBackupMediaServer stop
3. 通过 SFTP 工具将 /var/lib/newcore/AnyBackup 目录下的 ofs.db 文件导出到 Windows 桌面。

步骤二,sqlite 工具修复 ofs.db,生成 new.db

1. 将 sqlite3 工具拷贝至 Windows 桌面。
2. 按 Win+R 键,打开运行窗口,输入 cmd ,然后点击确定
3. 进入到命令提示符窗口后,执行如下命令,进入到桌面目录。
cd Desktop
4. 执行如下命令,将 ofs.db 中的数据导出为 sql 语句文件。
sqlite3.exe ofs.db
sqlite>.output tmp.sql
sqlite>.dump
sqlite>.quit

5. 在桌面生成 new.db 文件,执行如下命令,将第 4 步中导出的 sql 导入 new.db 。
sqlite3.exe new.db
read tmp.sql
.quit


步骤三,导入 new.db

1. 通过 SFTP 工具将新生成的 new.db 文件上传至备份系统 /var/lib/newcore/AnyBackup 目录下,执行如下命令,备份原 ofs.db 文件。
mv ofs.db ofs.dbbak
2. 执行如下命令,将 new.db 文件重命名为 ofs.db 文件,并重启 AnyBackupMediaServer 服务。
mv new.db ofs.db
/etc/init.d/AnyBackupMediaService

更多信息

ofs.db 中记录了定时备份任务与 OFS 卷存放数据对应关系,sqlite3 的命令行工具修复 ofs.db 数据库文件,是将数据库中的数据导出为sql语句文件,然后导入到一个新库中。