使用百度对象存储.BOS.来实现站点的备份

百度对象存储 BOS(Baidu Object Storage)提供稳定、安全、高效以及高扩展存储服务,支持单文件最大 5TB 的文本、多媒体、二进制等任何类型的数据存储。数据多地域跨集群的存储,以实现资源统一利用,降低使用难度,提高工作效率。”存储+计算框架”让您的数据加上“动力”引擎,让数据在传输、存储、处理和发布 4 个环节有机融为一体。

目前本站使用了一个自动备份的策略,虽然没有什么内容,也没有太多的东西,但是安全第一条:备份。但备份好了后,需要手动下载到本地,而服务器现在是小水管 1M 的带宽。现在的备份包差不多已经 100M 了,这样下载动不动就要十几二十分钟的,非常浪费时间,而且也将服务器外网的带宽全部占尽了。

所以后来就慢慢的考虑能否利用百度云的内网进行备份、复制的,这样避开了宽带的限制,也能实现鸡蛋不要放在一个篮子里的要求。毕竟内网的带宽动不动是 10Gbps 来算的,比起 1Mbps 已经是 10k 倍的差距了。100M 的文件,可以说是秒传,1s 都不用的。后来经过实践,真的是不用 1s 就可以,进度条是一晃而过。

原先考虑的是另外买一块磁盘,毕竟价格也不贵的,5G 的空间,三年也才用 31.5 元。用来备份也是完全够了,但是初步看了下,如果挂了磁盘,用的带宽还是原服务器的,就还是没有达到第一个目的。

下一步就考虑的是百度对象存储 BOS 来完成,官网上的介绍:

百度对象存储 BOS(Baidu Object Storage)提供稳定、安全、高效以及高扩展存储服务,支持单文件最大 5TB 的文本、多媒体、二进制等任何类型的数据存储。数据多地域跨集群的存储,以实现资源统一利用,降低使用难度,提高工作效率。”存储+计算框架”让您的数据加上“动力”引擎,让数据在传输、存储、处理和发布 4 个环节有机融为一体。

现在百度云上还在搞活动,但最低的也是 100G 了,价格上也比较便宜,100G 一年才 50 元。但实际 100G 比较大的空间了,现阶段程门立学还是先使用按需计费来完成。

 

话说现在的对象存储也是计费复杂,分三个费用:

存储费用:即存储空间费用,不同存储类型的存储费用单价不一样。

请求费用:包含读请求、写请求和数据取回费用。不同存储类型的请求费用单价不一样,只有低频存储和冷存储需要支付数据取回费用,标准存储无该项计费。

流量费用:包含外网数据流出、CDN 回源流出和跨区域数据流出(注:内/外网数据流入和内网数据流出不计费)。其中外网数据流出、CDN 回源流出和跨区域数据流出三种计费单价不区分存储类型。

外网数据流出,即通过公网 IP 流出的流量,且不包含 CDN 回源产生的流量。

本文中所说 CDN 回源指的是向百度智能云 CDN 回源的优惠费用;其他非百度智能云 CDN 回源无法识别,按照标准外网数据流出收费。

跨区域流出流量,当您跨区域复制文件会产生跨区域流出流量费用。

就是不仅仅占用空间要费用,读写请求也要费用,流量同时也要费用的。不过比较而言,百度 BOS 的流量费用不高不低,0.49 元/G 的。

当然现在使用量还是比较少的,初步估计还是在一个非常低的范围内。

而实现自动备份,自然不能通过控制台来实现了,百度 BOS 提供了 API 接口跟各种 SDK 及周边的工具。目前对其他 API 跟 SDK 没有怎么研究,而是使用 BCECMD 来实现。BCECMD 看上去是整个百度服务器的命令提示符,而目前仅支持对象存储 BOS。

BOS CMD 提供与 BOS CLI 相似的功能,但是 BOS CMD 不依赖系统环境,无需安装,下载后可直接使用,而且效率优于 BOS CLI。在官网上 https://sdk.bce.baidu.com/console-sdk/windows-bcecmd-0.2.4.zip 下载后,可以直接在 CMD 系统命令提示符中使用。

使用之前需要进行配置,使用-c 参数设置 Access Key、Secure Key、Region 和 Host:

相应的帮助指引可以在官网上的指南找到:https://cloud.baidu.com/doc/BOS/BOSCLI.html#.E9.80.9A.E8.BF.87CMD.E4.BD.BF.E7.94.A8BOS.E6.9C.8D.E5.8A.A1

配置完毕后可以输入相应的命令来完成对应的操作:

参考的命令为:

  1. bcecmd bos cp [–storage-class [STORAGE_CLASS]] [–restart] [–quiet] [–yes] [–disable-bar]

命令完成后可以在控制台看到文件已经成功上传,而从控制台下载文件也是非常的快,当然这个流量和操作都是要计费的了。一般情况仅做存储即可,有需要恢复的时候再下载下来。

下一步再通过批处理命令来实现自动对站点的备份、上传到 BOS 中,从而实现站点备份自动化,无须人工干预。

测试单独操作备份、上传无误后则将几个命令整合到一起,做了一个简单的批处理:

借用宝塔面板的备份功能,简单写了个批处理:

CloudBackup.exe /type SiteBackup /name www.iappi.cn /file .\wordpress /url localhost /rar .\site /num 1

CloudBackup.exe /type MySqlBackup /name wordpress /url localhost /rar .\site /num 1

bcecmd.exe bos cp .\site\ bos:/ Bucket/backup_iappi.cn/%date:~0,4%-%date:~5,2%-%date:~8,2% -r

简单解释下如上第一条是使用备份功能将站点进行备份,即将 WordPress 的目录备份压缩,并保持只有 1 份备份。第二条类似备份数据库。

第三条为使用 bcecmd 功能将刚备份的文件所在目录的所有文件批量上传到 BOS 中已经创建好的 Bucket 中的 backup_iappi.cn 并新建以日期命名的子文件夹中。

测试正常后,再通过系统工具中的计划任务程序,将该批处理命令添加任务中,等待明天验证是否成功。计划任务的处理参考了Windows 服务器设定自动重启 Apache 服务的操作记录 中的操作。

原文链接:https://www.iappi.cn/2019_05/2019718.html

人已赞赏
网站系统

WordPress 5.2.1 维护版发布

2019-5-22 20:02:34

网站系统

WordPress 5.2.2 维护版本发布

2019-6-19 8:47:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索