• 不同后端数据迁移
    • 新建临时 seafile.conf 文件
    • 运行迁移脚本
    • 替换 seafile.conf

    不同后端数据迁移

    seafile支持在文件系统、s3、ceph、swift、阿里云oss等存储后端之间互相迁移数据(swift暂不支持迁出), 如果你启用了存储后端加密的功能,目前是不能进行数据迁移的。
    在不同后端迁移数据需要三个步骤:
    1.新建临时 seafile.conf 文件
    2.运行迁移脚本
    3.替换 seafile.conf

    新建临时 seafile.conf 文件

    创建一个新的 seafile.conf, 填写目的后端的配置 (需要包含 [block_backend], [commit_object_backend], [fs_object_backend]), 保存到一个目录下, 如 /opt (此目录需要用户具有读取权限)

    例如,要迁移到阿里云后端:

    1. cat > seafile.conf << EOF
    2. [block_backend]
    3. name = oss
    4. key_id = LTAIXX****
    5. key = 4BY7WEN*****
    6. bucket = seafblk
    7. endpoint = oss-cn-shanghai.aliyuncs.com
    8. [commit_object_backend]
    9. name = oss
    10. key_id = LTAIBk*****
    11. key = s6jaAJev******
    12. bucket = seafcomm
    13. endpoint = oss-cn-shanghai.aliyuncs.com
    14. [fs_object_backend]
    15. name = oss
    16. key_id = LTAIr9******
    17. key = K95ajKksD******
    18. bucket = seaffs
    19. endpoint = oss-cn-shanghai.aliyuncs.com
    20. EOF
    21. mv seafile.conf /opt

    将配置中的 key, bucket 等信息替换成自己的配置

    运行迁移脚本

    假设 seafile 的安装路径为 ~/haiwen, 进入 ~/haiwen/seafile-server-latest 目录下, 执行 migrate.sh, 参数为新建的 seafile.conf 所在目录,这里为 /opt

    1. cd ~/haiwen/seafile-server-latest
    2. ./migrate.sh /opt

    替换 seafile.conf

    对象迁移完成后, 需要将 seafile.conf 替换成新后端的配置

    1. mv /opt/seafile.conf ~/haiwen/conf

    此时的 seafile.conf 中仅有关于后端的配置, 更多的配置项和配置方法,如 memcache等,可以参考 这篇文档 进行补充。
    替换配置文件之后,重启seafile服务,就可以正常访问新后端的数据了。