配置COSCMD

COSCMD是腾讯云官方的命令行工具,可通过简单的命令行指令实现对对象的批量上传、下载、删除等操作。
  • 安装COSCMD
$ pip install coscmd
$ coscmd -h            # 测试是否安装成功
  • root目录下创建配置文件.cos.conf,并写入配置

    • secret_id:密钥中的SecretId
    • secret_key:密钥中的SecretKey
    • bucket:存储桶名称
    • region:存储桶所在地域
[common]
secret_id  = <Your_SecretID>    # 修改为自己的SecretId
secret_key = <Your_SecretKey>   # 修改为自己的SecretKey
bucket = <Your_Bucket_Name>     # 修改为存储桶名称
region = <Your_Bucket_Region>   # 修改为存储桶所在地域
max_thread = 5
part_size = 1
retry = 5
timeout = 60
schema = https
verify = md5
anonymous = False
  • 测试上传
$ coscmd upload <localpath> <cospath>

# 例如这里将/root/目录下的1.txt文件上传到COS的根目录下
$ coscmd upload /root/1.txt /

编写脚本

  • 编写脚本Backup2COS.sh

    • 执行时将数据库导出到/root/目录
    • 然后上传到COS的/backup/目录
    • 将执行结果写入到log.txt,且若执行成功时将本地SQL备份文件删除
# 获取当前时间戳
SQLFile=`date +%Y%m%d_%s`.sql

# 备份指定数据库
mysqldump -uroot -proot typecho > /root/$SQLFile

# 添加环境变量,不然可能出现coscmd Not Found错误
source /etc/profile
# 上传到COS
/usr/local/bin/coscmd upload /root/$SQLFile /backup/

# 将执行结果写入日志
if [ $? -eq 0 ]
then
    echo "[+] Succeed: " $SQLFile >> /root/log.txt
    rm $SQLFile
else
    echo "[-] Failed: " $SQLFile >> /root/log.txt
fi
  • 编写完后执行脚本测试一下
$ chmod 755 Backup2COS.sh  # 赋权
$ bash Backup2COS.sh       # 测试

定时执行

$ crontab -e

0 2 * * * /root/Backup2COS.sh

参考

如果觉得我的文章对你有帮助,请我吃颗糖吧~