用 rclone 把云服务器数据定时备份到 OBS:省流量、省请求的配置思路

举报
yd_294423728 发表于 2026/10/21 23:10:18 2026/10/21
【摘要】 本文介绍如何用开源工具 rclone,把 Linux 云服务器上的目录定时同步到华为云对象存储 OBS,并从网络路径、请求次数、存储类别三个角度,降低备份成本。

一、为什么用 rclone

备份到对象存储,常见的做法有 obsutil、自己写的 SDK 脚本,还有 rclone。rclone 的好处是:

  • 支持增量同步,只传有变化的文件
  • 一条命令就能完成同步、校验和限速
  • 配置一次以后,换到别的存储也能复用

二、配置 OBS 远端

  1. 在控制台创建一个专门用于备份的子用户,只授予目标桶的读写权限,然后生成 AK/SK。不要使用主账号的密钥。
  2. 执行 rclone config,新建 remote,类型选 s3,provider 选 HuaweiOBS,填入 AK/SK 和桶所在区域的 endpoint,比如 obs.cn-north-4.myhuaweicloud.com。
  3. 用 rclone lsd obs: 验证能否列出桶。

三、省流量:让数据走内网

ECS 和 OBS 桶在同一区域时,通过区域 endpoint 访问 OBS 一般会走华为云内网,不产生公网流出流量。所以:

  • 建桶时选择和 ECS 相同的区域
  • 不要从外地服务器跨区域推数据
    (具体计费以 OBS 官方价格页面为准。)

四、省请求:减少 LIST 和 HEAD

OBS 按请求次数计费,小文件多的目录,每次比对都会产生大量请求。可以这样优化:

  • 加上 --fast-list,用更少的 LIST 请求拿到目录结构
  • 用 --size-only 或 --checksum,避免为了比对修改时间,对每个文件发起额外的请求
  • 碎文件很多的目录(比如日志),先 tar 打包再上传,一次 PUT 代替成千上万次

五、定时执行

示例命令:

rclone sync /data obs:my-backup/data \
  --fast-list --size-only --transfers 4 \
  --bwlimit 20M --log-file /var/log/rclone-backup.log

然后用 crontab -e 加一行:

0 3 * * * /usr/bin/rclone sync /data obs:my-backup/data --fast-list --size-only --log-file /var/log/rclone-backup.log

注意:sync 会删除目标端多出来的文件。如果想保留历史版本,可以开启桶的多版本控制,或者改用 rclone copy。

六、降低存储成本

  • 用生命周期规则,把 30 天前的备份转成低频访问存储,90 天前的转成归档存储
  • 开了多版本的话,记得给历史版本也设置过期时间,不然旧版本会一直占空间

七、小结

同区域内网传输、减少请求次数、加上生命周期分层,是把备份成本压下来的三个关键。配置一次就能长期稳定运行,建议每个月抽查一次恢复,确认备份真的能用。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。