V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LongLights
V2EX  ›  分享发现

Debian 服务器通过 rclone 挂载缤纷云(或其他 s3 兼容云存储),适用宝塔备份任务

  •  
  •   LongLights · 6 天前 · 600 次点击

    安装 rclone 并配置好缤纷云或其他 s3 兼容存储

    在缤纷云或其他云存储后台获取 Access Key 和 Secret Key

    随后 ssh 进入你的服务器,安装 rclone 并配置缤纷云存储桶

    • 依次运行
    apt update
    apt install -y curl unzip fuse libfuse2
    apt install -y rclone
    
    • 配置缤纷云或其他 s3 存储,运行
    rclone config
    

    输入 n 回车新建 config ,依次按照提示输入: name (自定义,如 bitiful ) storage (选 Amazon S3 Compliant Storage Providers 对应的数字) provider (选 Any other S3 compatible provider 对应的数字) access_key_id 、secret_access_key (第 1 步获得) region (如缤纷云的 cn-east-1 ,在“桶信息”可查) endpoint (如缤纷云的 s3.bitiful.net ,在“桶信息”可查)

    配置过程中没提到的项目直接回车即可,最后按 q 退出 config 配置即可。如果不喜欢使用这个交互过程,也可以直接编辑~/.config/rclone/rclone.conf ,格式如:

    [bitiful]
    type = s3
    provider = Other
    access_key_id = <access_key_id>
    secret_access_key = <secret_access_key>
    region = cn-east-1
    endpoint = https://s3.bitiful.net
    

    将缤纷云或其他 s3 兼容存储挂载到 Debian 本地盘符

    • 在 opt 下创建一个目录,如 bitiful
    mkdir -p /mnt/bitiful
    
    • 测试能否正确挂载,ssh 内运行(注意替换 bucket 名):
    rclone mount bitiful:<你的 bucket 名> /mnt/bitiful --uid 0 --gid 0 --umask 0022
    

    运行后去 ftp 查看/opt/bitiful 下是否存在你 bucket 中的文件和目录,有即表示挂载成功

    如果成功,按 crtl+c 结束 rclone 的前台进程

    配置 rclone 后台运行+开机启动

    • 在/etc/systemd/system 目录下新建一个文件,名为"bitiful.service",内容如下 (注意替换 bucket 名):
    [Unit]
    Description=挂载 Bitiful S4 存储桶
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/rclone mount bitiful:<你的 bucket 名> /mnt/bitiful --uid 0 --gid 0 --umask 0022
    ExecStop=/usr/bin/fusermount -u /mnt/bitiful
    Restart=on-failure
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target
    
    • 重载 systemd 配置
    systemctl daemon-reload
    
    • 启动挂载并开机启动:
    systemctl start rclone-bitiful
    systemctl enable rclone-bitiful
    

    在宝塔内使用

    在宝塔内直接把这个挂载盘符作为备份目的地址会由于 inode 为 0 导致备份失败(但实际并不会不足),需要修改宝塔的验证

    在/www/server/panel/class 目录下,修改 panelBackup.py 中的:

    _inode_min = 10
    

    变为

    _inode_min = 0
    

    就可以在备份任务中把/mnt/bitiful 当成一个本地目录使用了~

    如果是备份目录,在计划任务的脚本编辑处,不可以直接指定备份路径,需要修改宝塔面板设置的默认备份路径

    使用缤纷云或其他 s3 兼容云存储代替 wordpress 的本地媒体库

    如果是博客博主,应该有很多朋友是希望直接能将博文附件上传到缤纷云使用的(毕竟缤纷云的图片处理是我用过的所有云存储中最强的) 如果是 wordpress ,可以直接使用 [ Media Cloud ] 这个插件,和 rclone 相似的方式配置并打开删除本地媒体功能即可。这一步太简单就不写说明了

    4 条回复    2025-07-29 15:11:48 +08:00
    qujiqujl
        1
    qujiqujl  
       6 天前
    这种方案稳定性如何?一个网络波动是不是就要挂了。
    goojia
        2
    goojia  
       4 天前
    宝塔的话,多此一举啊,商店里有现成的 s3 备份插件,主流大厂的多有。小众的也可以试试看,只要兼容 s3 一般都能用。
    LongLights
        3
    LongLights  
    OP
       4 天前 via iPhone
    @goojia s3 兼容的那个插件已经下架了,下架之前 endpoint 也是硬编码的
    LongLights
        4
    LongLights  
    OP
       4 天前 via iPhone
    @qujiqujl 我的 vaultwarden 每天都在通过这套流程备份 目前还未有过中断
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2595 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:27 · PVG 14:27 · LAX 23:27 · JFK 02:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.