seaf-fsck运行错误


#1

原来的虚拟机崩溃,好在数据盘尚能恢复,现在使用seaf-fsck导出文件时出现如下错误,不知道如何处理,希望大佬指教。


#2

https://cloud.seafile.com/published/seafile-manual-cn/maintain/seafile_fsck.md#user-content-恢复数据库

4.2.0版本以后,您可以使用seaf-fsck将资料库中的所有文件导出到外部文件系统(如Ext4)。该程序不依赖于 seafile 数据库。只要你有 seafile-data 目录,你可以随时将文件从seafile导出到外部文件系统。

命令语法是

cd seafile-server-latest
./seaf-fsck.sh --export top_export_path [library-id1] [library-id2] ...

参数 top_export_path 是放置导出文件的目录。每个资料库将导出为导出目录的子目录。如果不指定资料库的ID,将导出所有库。

目前只能导出未加密的资料库,加密资料库将被跳过。


#3

谢谢!
我的情况稍有不同,由于我时dock方式安装,所以我i的安装目录下是没有seafile-server-latest目录的,我是在安装文件包解压后使用的这个工具,而且,这个错误提示的出现我找不到相关说明。


#4

我这个只是引用官方描述而已,两边的seaf-fsck.sh是同一个脚本文件

你可以自己docker exec -it containerID bash进去运行

或者直接docker exec -it containerID /opt/seafile/seafile-server-latest/seaf-fsck.sh(好像是这个路径)

我也是docker部署的seafile,里面有这个文件夹

然后,你如果想脱离数据库从资料库数据块中导出原始文件,重点在于–export这个参数,跟部署方式没关系


#5

是的,我明白你的意思,官方文档中间说明,如果不加–export参数,这个脚本是以只读方式检验存档的,所以,不加参数,肯定是可以运行的对不对?那么,现在我面临的问题就是没办法运行。
关于脚本路径的问题,我是运行容器的系统镜像坏了,手上只有当时挂载的数据盘,所有我现在只能从安装包里面找seaf-fsck,我不清楚我遇到的问题跟这个情况是不是有点关联。


#6

容器镜像应该没关系,再pull一个全新的利用里面的seaf-fsck.sh就行

–export参数是指定本次操作是脱离数据库导出资料库里原始文件的操作

不加参数运行是依赖数据库检验完整性,日志里不是显示了连接数据库db失败了么:sweat_smile:

我觉得官方文档说得很清楚了啊:joy:


#7

明白了,谢谢,对于“不加参数运行是依赖数据库检验完整性”我的理解有偏差,钻牛角尖了,谢谢!