分享一个我自用的简单的云备份方案

214 天前
 orlog
今天给大家分享一个我自用的超级简单的云备份方案。是的我又来骗流量了

原文地址: http://www.edu.cy/cloud_backup_easy

由于意外丢失了更新多年的网站的数据,遗憾之余也意识到不管服务器厂商看起来多靠谱,自己备份数据都是非常重要的。下面就分享一个我自用的非常简单的备份方案,可以轻松备份数据到多个云存储厂商。

https://github.com/abenoseimei/cbe/releases/tag/v1.0.0
先在这里选择合适的二进制文件下载安装到你的服务器,比如我是 64 位 amd 的 linux 服务器,那就在服务器运行命令
(如果没有你适配的版本,或者不想用现成的,可以用这个项目的源码自己编译,后续会更新具体操作步骤)

wget https://github.com/abenoseimei/cbe/releases/download/v1.0.0/cbe-v100-linux-amd64
mv cbe-v100-linux-amd64 /usr/bin/cbe
chmod +x /usr/bin/cbe

这样就安装完成了,怎么使用呢?命令格式是这样

cbe -c /etc/cbe.yaml -m aliyunoss -f /root/bak.tar.gz

-c, -m, -f 后边跟的参数分别是:配置文件路径,云存储模式,要上传的本地文件

当然光这样不行,还需要一个配置文件,格式是像这样:
https://github.com/abenoseimei/cbe/blob/main/cbe.yaml
新建一模一样的配置文件,填写好后放到一个固定的位置,比如 /etc/cbe.yaml

下边具体说说各个云储存模式的配置方法(用哪个就配哪个,都用就都配置):

1. aliyunoss (阿里云 OSS ),进入阿里云 RAM 访问控制,创建一个用户,创建的时候要勾选 OpenAPI 调用访问,之后把 AccessKey ID 和 AccessKey Secret 记下填到 cbe.yaml 配置文件里,然后进入阿里云对象存储 OSS ,进入你要用来上传备份的 Bucket (还没有的话新建一个,存储类型选标准存储),找 权限控制-> Bucket 授权策略,新增授权把刚才添加的子账号选进去,授权 “读/写” 就够了。在 Bucket 概览里可以找到 Endpoint (外网访问),这个填到配置文件里。阿里云 OSS 资源包现在价格是 40G 每年 9 元,建议先买他个十年。

2. tencentcos (腾讯云 COS ),进入腾讯云 CAM 访问管理,创建一个用户,新建 API 密钥,把 SecretId 和 SecretKey 记下填到我们的配置文件里,然后进入腾讯云对象存储,进入你要用来上传备份的 Bucket (还没有的话新建一个),找 权限管理 -> 存储桶访问权限,用户权限里添加刚才创建的子账号,授予数据读取和写入权限。然后在这个桶的概览里找到 “访问域名”,这个就是 bucketUrl ,填到配置文件里。腾讯云 COS 资源包,买那个深度归档存储容量包,10G 每年 1.2 元,这个最便宜,建议多买点。

3. googlecs (谷歌云存储),在谷歌云面板顶部搜索框里输入 IAM 找到 IAM & Admin 进入,找到 Service Accounts -> Create service account ,新建服务账号,授权 Cloud Storage -> Storage Object Admin ,创建之后 KEYS -> ADD KEY -> Create new key ,选 json ,就可以下载到一个文件,这个上传到你的服务器之后,把具体路径地址填到 cbe.yaml 配置文件里的 credential 。projectID 和 bucketName 就是谷歌云的 project ID 和要上传备份用的桶名字。谷歌云存储有免费的 5G 存储空间,注意建桶的时候要选对,选 single region 的美国区域。

4. googledrive ( Google Drive ),我们可以利用共享跳过 OAuth 验证,这样配置简单很多。同样也是新建服务账号,角色权限给基本的 Basic -> Viewer ,创建 KEY 并下载 json ,然后 Google Drive 里新建一个文件夹,共享给刚才新建的服务号,权限是 Editor 。把刚才下载的 json 传到服务器上,路径地址填到 cbe.yaml 里 googledrive -> credential 。运行命令 cbe -c /etc/cbe.yaml -m googledrivelist 可以看到刚才共享的文件夹名字,后边括号里的那串东西是它的 ID ,把它复制填到配置文件里的 parent 即可。

这样就可以配合 bash 和 crontab ,实现自由的自动备份,或者你有其他软件或脚本,想直接调用这个命令,都很方便,具体的改天抽空更新。
1764 次点击
所在节点    分享创造
14 条回复
whileFalse
214 天前
不太清楚这玩意有什么用...装个云厂商的 cli 很难么
orlog
214 天前
@whileFalse 还是直接有个二进制文件更方便吧,命令简化了也省的每次查文档。。。隔壁论坛还有人拿 rclone 来比较来喷我的,简单的东西有我简单的用途啊,就比如有人喜欢功能全面的 wordpress ,而有人就只喜欢生成静态网站
maymayblog
214 天前
我服务器是 Windows Server ,直接装上 NAS 客户端,实时同步整个项目文件夹,暴力且方便
orlog
214 天前
@maymayblog 嗯你的需求是同步,我的需求是长期可靠的备份,就比如那种深度归档云存储,我喜欢买个几十年
hongfs
214 天前
基本上各家的对象存储都支持了 S3 一些基础功能。。。
Inzufu
214 天前
你提到了冷数据,我感觉其实冷数据量不大的话完全可以自己买上几十碟光盘刻录在里面,没必要上云。
还有有一个点你没有提到,我也不确定有没有,就是数据上云之前可以拿对称加密和 aes 加密一下,也能保证数据安全。
(歪个楼,edu.cy 这个域名好厉害)
0o0O0o0O0o
214 天前
@inzufu OP 这种最多几十个 G 的数据,用对象存储的归档存储,应该比你这个方案便宜 *且* 可靠很多,体验还先进

另外工具推荐 restic ,增量、加密备份,支持很多 https://restic.readthedocs.io/en/stable/

域名确实厉害
orlog
214 天前
@inzufu 刻碟我觉得没有大厂商云存储可靠,碟片也不好保存,寿命不知道多久,少了加密因为我自己没这个需求,感觉也没什么见不得人的东西要存
hefish
214 天前
碟片寿命根据自身经历,大约在 8-10 年。
qsnow6
214 天前
@hefish #9 亲身经历,3 张光盘,6 年后有 1 张无法读取。
qsnow6
214 天前
碟版上面的不知道叫磁粉还是什么,时间久会脱落。
whileFalse
214 天前
@qsnow6 反射层
hwlhwlxyz
213 天前
请问楼主有没有实惠的深度归档云存储的推荐?看了 aws 和谷歌的都好贵呀,而且计费要考虑的东西好多,好难估算价格。
orlog
213 天前
@hwlhwlxyz 我不是写了么,腾讯云那个深度归档超便宜的,其他国内云厂商也都有预付费资源包卖

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/980296

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX