使用 Kopia(Docker) 备份 Linux 服务器文件到对象存储

status
Published
type
Post
slug
kopia-linux-backup-to-s3
date
May 15, 2026
tags
Config
Linux
Docker
summary
文章介绍了如何使用开源备份工具 Kopia 通过 Docker 容器化部署将 Linux 服务器文件安全备份到对象存储(如 Cloudflare R2)。这可以帮助用户实现数据的端到端加密、高效去重以及免服务器架构的云端备份。
Kopia 是一款开源跨平台的备份工具,以高安全性(端到端加密)、极致的去重与压缩以及免服务器架构为核心特点。它不需要依赖中央服务器,可以直接将数据安全地备份到各种对象存储(如 AWS S3、阿里云 OSS、MinIO)、云盘(Google Drive、OneDrive)或本地存储 / NAS中。
竞品对比(AI 整理)
维度 / 特性
Kopia
Restic
BorgBackup (Borg)
Duplicacy
开源协议
开源免费 (Apache-2.0)
开源免费 (BSD-2)
开源免费 (BSD-3)
源代码可用 (个人免费/商业收费)
官方图形界面
有 (功能完备的 Kopia UI)
无 (仅纯命令行 CLI)
无 (依赖 Vorta 等第三方)
有 (GUI 需付费订阅)
多机并发写入
原生支持 (锁冲突极小)
支持差 (易因锁仓导致排队)
不支持 (独占锁,单机设计)
原生支持 (双向无锁去重)
备份速度/去重
极快 (块级去重+多线程)
快 (内容感应去重)
极快 (局部去重效果极好)
极快 (基于独立哈希去重)
跨平台支持
全平台 (Win/Mac/Linux)
全平台 (Win/Mac/Linux)
主要支持 Linux/Mac (Win极差)
全平台 (Win/Mac/Linux)
资源占用
低 (Go 语言开发)
低 (Go 语言开发)
低 (C/Python 开发)
低 (Go 语言开发)
按个人习惯统一容器化部署,这里就不用 CLI 配置了,开启 WebUI
compose.yaml
services: kopia: image: kopia/kopia:latest container_name: kopia restart: "unless-stopped" ports: - 127.0.0.1:1515:80 command: - --log-level=info - --log-dir= - server - start - --insecure - --address=0.0.0.0:80 - --server-username=okhk volumes: - ./config:/app/config - ./cache:/app/cache - /path/to/data:/data:ro - /tmp/kopia:/tmp:shared hostname: "okhk" environment: KOPIA_SERVER_PASSWORD: "web_passwd" # Web UI 密码 KOPIA_PASSWORD: "repo_passwd" # 备份仓库密码 TZ: Asia/Singapore healthcheck: test: ["CMD-SHELL", "curl -s -w '%{http_code}' http://127.0.0.1 | grep -E '200|401' || exit 1"] start_period: 30s interval: 60s timeout: 10s retries: 3
启动后打开网页按配置的用户名密码登录
notion image
Cloudflare R2 配置
在 Cloudflare 上创建 R2 Bucket
notion image
创建 Access Key,赋予对应 Bucket 的读写权限
notion image
配置备份 Repository,将 Cloudflare R2 的信息填入,注意 Server Endpoint 不需要填写 https 前缀,只要 FQDN 的完整域名即可。
notion image
创建快照任务,填写待备份的文件夹路径
notion image
其中定时备份配置需求(Kopia 支持多重定时,会叠加生效
notion image
查看 R2 ,已经备份上传成功
notion image
⚠️
注意 Cloudflare R2 的计费规则:如果定时任务的 Interval 设置得太频繁(比如每 5 分钟备份一次),Kopia 会非常频繁地去扫描和比对 R2 上的文件,这会产生大量的 Class A / Class B 操作请求。 虽然 R2 每月有免费额度(A类 100万次,B类 1000万次),但如果备份源文件极多且频率过高,可能会超出免费额度。通常建议家用或办公电脑设置 1h(1小时)到 12h(12小时) 之间即可。