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 同地域情况下用,不同地域太慢,上传不了所有文件。