将来的你
一定会感谢现在拼命努力的自己

利用腾讯云COS云对象存储定时远程备份网站

导读:2 个月前,三叶运维分享了一篇Python+Shell 定时备份网站到阿里云 OSS 的教程,已经有非常多的站长朋友用上了,反馈还不错,也有不少朋友提出了很多优化建议,比如上传完成后能否删除本地压缩包之类的,本文将继续分享另一种云端备份方案。

利用腾讯云COS云对象存储定时远程备份网站

一、优点分析

内网传输:和阿里云 OSS 一样,腾讯云 COS 同样支持内网和外网文件传输,对于腾讯云服务器,使用内网传输绝对是最快、最稳定的备份方案!

免费方案:看了下腾讯云 COS 的定价说明,发现对于备份网站来说简直是绝佳搭档,甚至可以说是钻了个空子(希望腾讯云的同事看到别打我。。。)!为啥这么说?

看下定价方案:

①、入流量免费

相当于我们上传文件的流量都是免费的,不区分内外网哦!内网就不说了,都懂。利用腾讯云COS云对象存储定时远程备份网站

②、各种免费额度

以七天循环备份(7 份压缩包)以来算,单压缩包支持 700M+(700M*7≈50G),应付一般网站的备份绝对是足够足够足够了!利用腾讯云COS云对象存储定时远程备份网站

从上述摘选的定价方案来看,腾讯云 COS 比阿里云 OSS 更适合做网站备份,关键他还适合在第三方服务器上做远程备份,因为不但入流量(上传)免费,出流量(下载)也免费 10GB。

二、准备工作

①、开通 COS,并创建 Bucket

访问腾讯云 COS开通对象存储服务,然后如图创建 Bucket:

利用腾讯云COS云对象存储定时远程备份网站

Ps:我们只用于备份,且为私密资料,所以选择私有读写。

②、添加密钥

接着,我们点击左侧的密钥管理,进入密钥界面如图创建密钥,如果先前已经有密钥了,则可以直接使用:利用腾讯云COS云对象存储定时远程备份网站

Ps:这里我们需要记住 3 个信息:AppID,SecretID 和 SecretKey,待会要用。

三、备份脚本

人生苦短,我用 Python,这里就继续选择 Python SDK 来实现,

①、环境准备

如下顺序安装腾讯云 Python SDK 插件:

如果不是 Centos,请自行搞定,这里不再赘述。

②、上传脚本

参考官方 SDK 文档,写了一个简单够用的上传脚本:

使用方法:将上述代码保存为 cos.upload.py,并上传到服务器,执行如下命令可开始上传文件到 OSS:

其中:

  • 1~3 个参数是 appid、认证 ID 和认证密钥,也就是前文创建并备忘的密钥信息;
  • 第 4 个参数是前文创建的 Bucket 名称,比如 mybackup
  • 第 5 个参数是需要备份的域名(新增的:主要是为了区分下)
  • 第 6 个参数是要上传的本地文件的绝对路径
  • 特别说明:更新到 V4 版本后,才发现还需要传入一个地域的参数,这里就不再修改脚本代码了,请直接修改上述代码的 region 的值,否则会报 404 错误!目前可选有 shanghai(华东)/guangzhou(华南)/tianjin(华北)/chengdu(西南),具体请看自己的 COS 所在地域以及腾讯云关于地域的文档

执行后,就能在 COS 的 Object 界面看到了上传的文件:利用腾讯云COS云对象存储定时远程备份网站

四、定时备份

有了上传脚本,继续结合之前三叶运维分享的七天循环备份脚本,实现循环备份到 COS 了,既安全还节省 COS 空间。

①、适合 COS 七天循环备份脚本

②、使用方法

将上述代码作如下修改:

I、根据实际情况修改上述代码中的 COS 上传函数代码,比如密钥对和 Bucket 名称(参考前文

II、替换代码中的 mypassword=123456 为自己设置的压缩包密码,不修改的话压缩文件解压密码为 123456

然后,将代码保存为 backup.sh,上传到服务器(建议存放到和前文 python 脚本的相同目录),比如 /data/backup.sh,最后如下添加定时任务:

本文就不赘述 7 天循环备份脚本的功能和更详细的使用方法了,若还是不清楚请参考前文:Linux/vps 本地七天循环备份和七牛远程备份脚本

全部完成后,就能实现本地 7 天循环备份和 COS 远程备份了!如果,之前已经做了七牛远程备份的可以放心取消了。

之前有朋友留言说能否自动删除已上传的文件呢?这次修改简单的加入了一个是否删除的功能:只需要在脚本执行的最后追加一个 y 参数,成功上传到 COS 后就会自动删除本次备份的压缩包了(看不懂的慎用)。

在文章的最后,为了方便广大代码小白朋友,特提供本文涉及脚本的打包下载:

五、幕后花絮

在折腾 SDK 的时候,第一眼其实被腾讯云的说明文档虐到了:

利用腾讯云COS云对象存储定时远程备份网站

只说了如何安装 SDK 插件,然后直接来个 def 函数,然后就没然后了,到底如何 import 这个 SDK?一脸懵逼。。。

最后在 github 的 simple.py 中才找到了完整的 DEMO:

https://github.com/tencentyun/cos-python-sdk/blob/3.3/sample.py

在这懵逼期间,我甚至用上了腾讯云做好的本地迁移工具,实际也是非常好用,简单配置下就能在后台定时上传更新的文件到 COS 了:利用腾讯云COS云对象存储定时远程备份网站

篇幅有限,这里就不深入介绍了,除此之外,COS 还提供了其他非常实用的工具,比如 FTP 工具、七牛以及 OSS 迁移工具等,感兴趣的朋友只需要看下 官方文档 就会弄了!

好了,折腾吧,骚年!好用的话,有钱的可以打赏,没钱的欢迎点赞,不怕一万多,不嫌一块少。。。

文件下载

赞(0) 打赏
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除,联系邮箱:contact@3yyy.top。文章观点不代表本站立场。本站原创内容未经允许不得转载:三叶运维 » 利用腾讯云COS云对象存储定时远程备份网站
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏