首页
关于本博客
友情链接
推荐
linux/shell
Search
1
LEDE官方固件安装中文语言包的方法
11,095 阅读
2
LEDE固件踢出弱信号客户端,实现WiFi无缝漫游脚本
9,242 阅读
3
基于CloudFlare API的纯Shell动态DNS(DDNS)脚本
8,220 阅读
4
一次OpenVPN交叉编译笔记
6,748 阅读
5
利用iptables的string模块来屏蔽域名(关键词匹配)
6,197 阅读
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
VPS推荐
洛杉矶VPS
欧洲VPS
搬瓦工
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
nginx
互联网应用
IP地址段汇总
登录
Search
标签搜索
nginx
OpenWrt
openvpn
SSH
cloudflare
seafile
iptables
VPS
linux
openssl
ddns
CentOS
Linux启动脚本
seafile网盘
vsftpd
openvpn配置模板
ftp
反向代理
seafile服务器
letsencrypt
自渡
累计撰写
78
篇文章
累计收到
2
条评论
首页
栏目
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
VPS推荐
洛杉矶VPS
欧洲VPS
搬瓦工
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
nginx
互联网应用
IP地址段汇总
页面
关于本博客
友情链接
推荐
linux/shell
搜索到
1
篇与
seafile数据迁移
的结果
2020-02-25
关于Seafile的数据迁移以及出错的解决办法
seafile默认是采用分块存储的,所以在迁移数据(资料库)的时候,只需迁移块,并修改mysql数据库即可。Seafile的数据一般由三个目录组成,分别是seafile安装目录下的:${SeafileDir}/seafile-data/storage/blocks ${SeafileDir}/seafile-data/storage/commits ${SeafileDir}/seafile-data/storage/fs通俗地说,blocks目录下是被分块存储的文件,它们以repo_id为二级目录,commits则是记录了其对应的文件名、用户权限信息等,三者缺一不可。因此,若要对整个seafile服务器进行迁移,则将它们一并拷贝到新服务器上;若只对单个资料库进行迁移,则从三个目录中分别找出相应的repo_id对应的文件夹,选择性拷贝。如何查看资料库的repo_id?通过管理员帐号登录seafile,进入管理员界面,找到左边菜单的“资料库”选项,点进去即可看到资料库对应的ID。底层文件拷贝完成后,开始进行数据库的迁移。注意:整个迁移过程中务必关闭seafile主程序,或者封堵端口、避免写入,否则容易导致迁移失败。整体迁移很简单,只需要原封不动地备份和导入数据即可#备份 mysqldump -uroot -p seafile >seafile.sql mysqldump -uroot -p seahub >seahub.sql mysqldump -uroot -p ccnet >ccnet.sql #sql文件拷贝后导入新服务器 mysql -uroot -p seafile <seafile.sql mysql -uroot -p seahub <seahub.sql mysql -uroot -p ccnet <ccnet.sql单一资料库迁移较为复杂,具体步骤:记住资料库的repo_id值,通过phpmyadmin或者mysql命令行进入原服务器数据库,查找该repo_id对应的行例如:该资料库的repo_id是“522f5320-14e4-4b9c-a96e-1d16f9b0769e”,现在迁移表Branch;use seafile; SELECT * FROM Branch where repo_id = '522f5320-14e4-4b9c-a96e-1d16f9b0769e';可以同时得到字段id、name、repo_id、commit_id,将所有字段值插入新服务器即可。其中id值可以自定义,其余字段的值必须原封不动地迁移。涉及到的、需要插入的表有Branch、Repo、RepoFileCount、RepoHead、RepoInfo、RepoOwner、RepoSize。待数据库迁移完毕后,则完成数据迁移,通过web进入seafile的管理员界面即可对数据库进行操作。迁移后可能出现的问题及解决办法:在迁移时若忘记封堵端口、关闭程序,同时被待迁移数据库还有读写操作,则会导致迁移后数据无法读取,出现错误。其原因是迁移中的数据读写导致seafile数据库中的表RepoSize中的head_id与原有数据不一致,从而出现错误。显著的特征是读取日志文件${SeafileDir}/logs/seafile.log中会出现如下日志:../common/block-backend-fs.c(70): failed to open block xxxx for read: No such file or directory.解决的办法是通过运行修复脚本来修复。sudo -u seafile ${SeafileDir}/seafile-server-latest/seaf-fsck.sh -r xxx其中xxx代表的是资料库的repo_id。
2020年02月25日
4,700 阅读
0 评论
0 点赞