惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Application and Cybersecurity Blog
Application and Cybersecurity Blog
H
Help Net Security
罗磊的独立博客
博客园 - Franky
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
博客园 - 叶小钗
爱范儿
爱范儿
月光博客
月光博客
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
GbyAI
GbyAI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
Hugging Face - Blog
Hugging Face - Blog
The GitHub Blog
The GitHub Blog
T
Threat Research - Cisco Blogs
Spread Privacy
Spread Privacy
Hacker News: Ask HN
Hacker News: Ask HN
B
Blog RSS Feed
Know Your Adversary
Know Your Adversary
T
Troy Hunt's Blog
I
InfoQ
L
Lohrmann on Cybersecurity
Recent Announcements
Recent Announcements
H
Hacker News: Front Page
Scott Helme
Scott Helme
Jina AI
Jina AI
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
The Register - Security
The Register - Security
C
CERT Recently Published Vulnerability Notes
MongoDB | Blog
MongoDB | Blog
Help Net Security
Help Net Security
MyScale Blog
MyScale Blog
F
Fortinet All Blogs
Project Zero
Project Zero
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
J
Java Code Geeks
AWS News Blog
AWS News Blog
阮一峰的网络日志
阮一峰的网络日志
T
Threatpost
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog
Cloudbric
Cloudbric

掘墓人的小铲子

新玩意:一加 15 | 掘墓人的小铲子 AI 编程初体验:Trae 帮我写代码 | 掘墓人的小铲子 微信内访问网站提示“非微信官方网页,请确认是否继续访问” | 掘墓人的小铲子 薅羊毛网站 | 掘墓人的小铲子 微信红包封面 | 掘墓人的小铲子 日本东京见闻 | 掘墓人的小铲子 新玩意:奥海 140W 氮化镓青春版充电器 | 掘墓人的小铲子 新玩意:云鲸智能洗地机 F1 冠军版 | 掘墓人的小铲子 新玩意:Windows Hello 指纹识别器 | 掘墓人的小铲子 电脑死机问题排查 | 掘墓人的小铲子 新玩意:WESCOM 31.5 英寸 4K 显示器 文章被“抄袭”了 | 掘墓人的小铲子 新玩意:乐歌 E2 升降桌 | 掘墓人的小铲子 香港一日游 | 掘墓人的小铲子 跨平台开发之 Quasar | 掘墓人的小铲子 跨平台开发之 Tauri | 掘墓人的小铲子 三星 Note4 超级省电模式之 Kindle 看书 博客升级 | 掘墓人的小铲子 使用 Jpom 自动构建和部署项目 | 掘墓人的小铲子 新冠肺炎症状记录 | 掘墓人的小铲子 使用 NotionNext+Notion+Vercel 部署我的木刻网站 | 掘墓人的小铲子 使用 Vercel 快速部署前端项目 | 掘墓人的小铲子 企业共享办公好助手:可道云 kodbox | 掘墓人的小铲子 新玩意|一加 Ace Pro | 掘墓人的小铲子 使用 Photo Stream 部署相册 | 掘墓人的小铲子 新玩意|罗技 MX Master 3 鼠标 2021 年终总结 | 掘墓人的小铲子 新玩意|Bcase 数据线磁吸收纳器 | 掘墓人的小铲子 我的习惯养成计划:五分钟规则+打卡 | 掘墓人的小铲子 我用66张照片记录过去一年做过的饭菜 | 掘墓人的小铲子 送你一个虎年红包封面:虎虎生威 | 掘墓人的小铲子 新玩意|海氏K3空气炸锅烤箱 | 掘墓人的小铲子 新玩意|Yeelight易来 智能人体感应灯小夜灯 | 掘墓人的小铲子 超稳的高颜值支架:海备思铝合金手机支架 | 掘墓人的小铲子 没有了无限免费存储空间,谷歌相册还能继续用吗? | 掘墓人的小铲子 置物架改造 | 掘墓人的小铲子 信用卡还款宽限期 | 掘墓人的小铲子 Nginx 开启 gzip 压缩 | 掘墓人的小铲子 记一次意外割手 | 掘墓人的小铲子 Kindle 售后换新记 | 掘墓人的小铲子 记一次麻烦的银行办卡经历 | 掘墓人的小铲子 记一次差点被集中隔离的回家之旅 | 掘墓人的小铲子 自己动手做置物架 | 掘墓人的小铲子 2020 年终总结 | 掘墓人的小铲子 自己动手部署内网穿透:frp | 掘墓人的小铲子 免费内网穿透服务推荐 | 掘墓人的小铲子 怎么提醒女朋友给手机充电? | 掘墓人的小铲子 阿里云盘和 Teambition 网盘 | 掘墓人的小铲子 记一次成功的网购维权:我在 12315 投诉天猫超市 | 掘墓人的小铲子
开源数据备份工具 Duplicati | 掘墓人的小铲子
2022-12-02 · via 掘墓人的小铲子

七牛云 备份 Duplicati 腾讯云 开源

使用 Duplicati + 腾讯云 COS,完美备份我的服务器数据。

文件备份需求

我有两台腾讯云的服务器,一台部署了博客,一台部署了一些个人项目,虽说云服务器很稳定,基本不会发生丢失数据的问题,但我个人之前经历过数据丢失,俗话说一朝被蛇咬十年怕井绳,所以一直在尝试把博客和项目的数据备份到其他地方。

我自己写过一个备份文件的 Java 程序,通过 crontab 定时任务和 shell 脚本可以把文件定期备份到七牛云。但由于没有可视化界面,配置起来比较麻烦,再加上程序本身也不支持恢复数据,需要去七牛云自行下载数据,所以还是想找一个比较完善的备份工具。

备份工具的选择肯定是开源优先,除了要支持图形化界面配置,还要支持国内的对象存储,并且支持周期性备份和数据恢复。

找了一圈,最终选择了「Duplicati」这款工具,完全符合上述需求。关于存储类型这里多说一句,虽然 Duplicati 支持的国内对象存储只有「Tencent COS」也就是腾讯云的 COS,但是通过使用「S3 兼容」协议,可以支持国内大多数云厂商的对象存储。

Duplicati 开源地址:https://github.com/duplicati/duplicati

部署

首先部署 Duplicati,我选择了 Docker Compose 方式进行部署,使用的镜像是 linuxserver/duplicati

关于 docker 和 docker compose 的安装可以参考「Docker环境搭建(CentOS篇)」。

docker-compose.yml 文件内容如下:

version: "2.1"
services:
  duplicati:
    image: lscr.io/linuxserver/duplicati:latest
    container_name: duplicati
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - CLI_ARGS= #optional
    volumes:
      - ./appdata/config:/config
      - ./backups:/backups
      - ./source:/source
      - /opt:/opt
    ports:
      - 8200:8200
    restart: unless-stopped

配置文件这里要额外说明一下,docker 方式部署可能会导致某些文件目录读取不到,所以需要在 volumes 节点下增加映射,例如 opt 映射,如果你也遇到文件目录读取不到的问题,参考上述配置增加 volumes 映射即可。如果需要读取 root 目录,需要把 PUID 和 PGID 改为 0,并且设置 rootvolumes 映射。

在 docker-compose.yml 文件同目录下执行 docker compose up -d 启动项目,浏览器访问 http\://:8200 或自行配置域名访问。首次进入会提示设置密码,也可以稍后在设置中进行设置。

首次访问

备份文件

Duplicati 部署好之后,我们来看下如何备份文件。

点击「新增备份」菜单,默认选择的是「配置新文件」,如果需要导入其他地方导出的任务可以选择「从文件导入」。

添加新备份

点击下一步,设置备份的名称、描述和加密方式,我这里选择了不加密。

常规备份设置

点击下一步,配置备份的保存位置,默认是备份到本地磁盘,可以点击下拉菜单选择其他选项。

备份保存位置

这里我选择「S3 兼容」,然后填写如下配置:

  • 服务器:选择自定义服务器地址,我的存储桶所属地域是北京,所以地址为 cos.ap-beijing.myqcloud.com,其他地区替换链接中的 ap-beijing 即可
  • Bucket 名称:访问「腾讯云存储桶列表」 可查看存储桶的名称
  • 文件夹路径:duplicati/photo-stream,根据个人需求填写
  • AWS 访问 ID:访问「API 密钥管理」查看 SecretId
  • AWS 访问密钥:访问「API 密钥管理」查看 SecretKey

S3 兼容

其他选项保持默认,点击测试,弹框提示调整 bucket 名称选择「否」,再次弹框显示测试成功说明配置正确。

点击下一步配置源数据,即要备份的文件或目录,这里我选择备份我的相册目录。

源数据

点击下一步,设置备份计划,我这里修改时间为晚上 23:00。

计划

点击下一步,配置远程卷大小和备份保留策略。远程卷大小可以保持默认,我这里设置了远大于需要备份的文件大小,备份保留策略选择永久保留,你也可以根据自己的需要选择合适的备份保留策略。

常规选项

点击保存,会弹框提示是否继续不启用加密,由于我最开始选择了不加密,所以这里选择继续不启用加密。

不启用加密

保存成功会后跳转到首页,会展示备份任务列表,在这里可以立即执行某个任务,或者点击下拉菜单进行更多选择和设置,例如编辑、导出、删除、查看日志等。

首页

这里我运行了一下备份任务,通过下图的日志可以看到,500M 的文件,40 秒就完成了备份,这速度相当快了。

日志

恢复文件

讲完备份再来说下如何恢复文件,一般有两种场景,一种是已备份的文件不小心删除了,需要恢复到原位置;另外一种是需要把已备份的文件下载到其他设备,Duplicati 都可以满足。

点击「恢复文件」菜单,有三种恢复方式:

  • 直接从备份文件中恢复:以我为例,就是直接通过 S3 兼容协议连接腾讯云 COS 进行文件恢复
  • 从配置中恢复:从其他设备导出的备份任务文件进行恢复
  • 已存在的备份:从本机已有的备份任务进行恢复

恢复文件

具体操作和配置选择可自行查看,这里略过。

使用感受

存储类型选择

我一开始使用的存储类型是七牛云,但是我发现每次备份 Duplicati 都会把已备份的文件下载到服务器,而七牛云的 S3 兼容方式又是付费的,也就是说频繁的周期性备份会导致较高的费用。

经过搜索,我发现腾讯云会给 COS 老用户永久的免费额度,于是就改为使用腾讯云 COS。如果你也是腾讯云客户,可以访问「免费额度资源包」查看是否有免费额度。

免费额度资源包

起初我是选择了「Tencent COS」进行配置,但是发现 Duplicati 的内存占用居高不下,甚至会导致服务崩溃,由于之前使用七牛云的 S3 兼容协议时并未发现此问题,所以我尝试使用 S3 兼容协议配置腾讯云 COS,果然内存占用过高的问题不存在了。

由于我的服务器也是腾讯云,而且跟 COS 是同一地区,这就使得备份走的是内网,也就是说除非我把文件恢复到我的电脑或其他地方,否则是不消耗外网下行流量额度。唯一的限制是存储容量,但是 50G 的免费额度也足够了。

可以按照你自己的服务器厂商选择对应的对象存储,理论上同一家服务器和对象存储之间应该都是支持内网传输的,而且大部分的国内云服务器厂商的对象存储也支持 S3 兼容协议,这样就可以省下不少外网下行流量额度或费用。

备份流程

Duplicati 备份会把文件打包压缩上传,并且在同目录生成对应的配置文件。

文件结构

后面的每次备份都会把文件下载到本地,然后再进行比对,前面也说到了,这部分是可能产生费用的,需要考虑对象存储和备份的频率的选择。

优点

  • 项目开源免费
  • 可以自己部署
  • 占用资源少
  • 界面简洁
  • 操作简单

注意事项

  • docker 方式部署可能看不到部分文件夹,给对应目录配置 volumes 映射即可
  • 存储类型选择 Tencent COS 会导致内存占用过高,建议修改为 S3 兼容协议
  • 备份会导致对象存储产生外网下行流量或费用,需要考虑选择合适的对象存储和备份频率

客户端

Duplicati 除了可以在服务器上使用,也可以在电脑端使用,访问「Duplicati Download」查看更多系统的客户端下载。

Duplicati 配合腾讯云 COS 完美解决了我的服务器文件备份需求,如果你也有文件备份的需求,可以尝试一下 Duplicati。

本文由 掘墓人 创作,采用 CC BY-NC-ND 4.0 DEED ,转载或翻译请注明出处。
最后编辑时间为: 2022年12月2日

欢迎关注我的公众号,及时获取最新文章推送。