压缩后sqlite3文件损坏

时间:2018-01-05 14:35:02

标签: python sqlite

完成我的db文件后 我试图使它成为tar文件但在此之前我看到db文件的大小是3 MB。将其压缩到tar文件后,原始文件变为10 KB,压缩文件也变为10 KB。

这是我用来压缩文件的命令:

tar cf users.db /root/Desktop/users.tar  

我不知道发生了什么但是文件的属性转向了 “STL 3D模型(二进制)(model / x.stl-binary)”它应该是 “SQLite3数据库(application / x-sqlite3)”

我尝试在sqlite3中使用.dump但没有修复它会显示以下错误:

/**** ERROR: (26) file is not a database *****/

2 个答案:

答案 0 :(得分:1)

您对tar命令的参数不正确。语法是:

tar cf <archive to create> <files to add to the archive>

由于您将users.db置于<archive to create>位置,因此您已将users.db文件替换为空tar存档。除非您备份了数据库,否则它已经消失了。

答案 1 :(得分:1)

在您写的评论中,您执行了此命令:

tar cf users.db /root/Desktop/users.tar

对tar使用f选项时, next参数指定要创建的文件 。您所做的是归档现有文件(/root/Desktop/users.tar),覆盖 users.db。

运行该命令后,users.db中的内容已被销毁。