2018.03.14 UPDATD:有人写专门的宝塔面板插件,推荐用:[安装篇]腾讯COS完全版插件 for 宝塔面板
腾讯云 每月大约提供免费 对象存储 COS 有 50 GB,用他来做网站数据的定时备份(特别是主机放在腾讯云上)再好不过了,但宝塔面板还没有提供一键工具来备份。没关系,自已动手丰衣足食,在学习 COS 文档 后,发现在后台定时执行 COSCMD 工具 即可。
首先在 COS控制台 建立一个和自己主机同地域的 Bucket ,同地域才能发挥机房内网高速上传的优势
相同地域内腾讯云产品访问,将会自动使用内网连接,不产生流量费用。因此选购腾讯云不同产品时,建议尽量选择相同地域,减少您的费用。
以腾讯 CVM 访问 COS 为例,判断是否使用内网访问 COS 的方法: 在 CVM 上 ping COS 域名,若返回内网 IP,则表明 CVM 和 COS 之间是内网访问,否则为外网访问。 内网 IP 地址一般形如 10...、100... 等。
记得勾选:私有读写
然后,pip 安装 COSCMD
pip install coscmd
升级一下
pip install coscmd -U
配置参数
COSCMD 工具在使用前需要进行参数配置。用户可以直接编辑~/.cos.conf文件,也可以通过如下命令来配置:
coscmd config -a <access_id> -s <secret_key> -u <appid> -b <bucketname> -r <region> [-m <max_thread>] [-p <parts_size>]    
上述示例中使用”<>”的字段为必选参数,使用”[]”的字段为可选参数。其中:
| 名称 | 描述 | 有效值 | 
|---|---|---|
| secret_id | 必选参数,APPID 对应的密钥 ID,可从控制台获取,参考 基本概念。 | 字符串 | 
| secret_key | 必选参数,APPID 对应的密钥 Key,可从控制台获取,参考 基本概念。 | 字符串 | 
| appid | 必选参数,需要进行操作的 APPID,可从控制台获取,参考 基本概念。 | 数字 | 
| bucketname | 必选参数,指定的存储桶名称, 需要提前在控制台建立,参考 创建存储桶。 | 字符串 | 
| region | 必选参数,存储桶所在地域。参考 可用地域。 | 字符串 | 
| max_thread | 可选参数,多线程上传时的最大线程数(默认为 5),有效值:1~10 | 数字 | 
| parts_size | 可选参数,分块上传的单块大小(单位为 M,默认为 1M),有效值:1~10 | 数字 | 
配置完成之后的.cos.conf文件内容示例如下所示:
secret_id = AChT4ThiXAbpBDEFGhT4ThiXAbpHIJK
secret_key = WE54wreefvds3462refgwewerewr
appid = 1234567890
bucket = ABC
region = cn-south
max_thread = 5
part_size = 1
然后在宝塔面板的计划任务中先竟添加两个定时任务(比如每周一早三点)
- 备份数据库
- 备份网站
这两个任务执行后会生成两个大压缩包,我们上传到 COS 即可,所在再添加 Shell脚本 任务,使用 COSCMD 命令输入
coscmd upload -r /www/backup/ /
这个命令会把 /www/backup/ 目录(宝塔默认备份目录),上传到 COS 的 / 根目录(可按自己情况调整)
然后执行一下,试试,然后去 COS 控制台一看,挖,网站备份好啦~~~
要说明一下的是,这个命令,上传 COS 时同名文件会覆盖。
特别注意:本方法只能在腾讯云 CVM 和 COS 同地域情况下用,不同地域太慢,上传不了所有文件。