新闻、帮助、产品更新动态

最新的业界新闻,产品系统更新开发动态,帮助教程和活动发布

自动备份本地文件、数据库到COS中

发布日:2022-03-07 14:51       阅读数:

我的需求
手里维护了一些小网站,网站跑在一台最低配的轻量应用服务器上,数据库是自建的MySQL。网站虽小,但是备份数据,也是个刚需。主要是MySQL的数据库备份以及一些本地文件的备份。一直想找一个现成的简单、轻量的解决方案,能够把指定目录或者文件定时自动上传到COS里面备份,但却一直没有找到,所以就只好自己动手了。
 
思路介绍
整体思路很简单,写一个shell脚本,利用crontab定时运行,功能就两个:1、打包指定的目录,上传到COS;2、导出MySQL数据,上传到COS。另外在COS里面设置过期规则,比如30天后删除旧得备份。
 
具体操作
下面,简单记录相关步骤:
 
注意:这里的操作步骤只是一个参考,具体备份的文件夹路径、备份的数据库等内容可根据实际情况调整。
 
1、安装coscli:
wget https://github.com/tencentyun/coscli/releases/download/v0.10.2-beta/coscli-linux
mv coscli-linux /usr/bin/coscli
chmod 755 /usr/bin/coscli
这里如果无法下载,或者下载缓慢,你懂的。
 
2、 准备一个存储桶,准备一个子账号,分配权限,记录子账号的SecretId和SecretKey,运行coscli,首次运行coscli,根据提示填写相关信息,其中的session token不填。
 
3、新建一个脚本backup.sh,这里假设我们备份的目录为/etc/my.cnf.d/要备份的数据库名为mysql
#!/bin/bash

cd /root/

tar -czvf my.cnf.d.tar.gz /etc/my.cnf.d/ 
mysqldump mysql > mysql.sql
tar -czf mysql.sql.tar.gz mysql.sql

coscli cp my.cnf.d.tar.gz cos://backupcos/back/`date '+%Y%m%d'`/my.cnf.d.tar.gz
coscli cp mysql.sql.tar.gz cos://backupcos/back/`date '+%Y%m%d'`/mysql.sql.tar.gz

rm -f my.cnf.d.tar.gz mysql.sql.tar.gz mysql.sql

4、chmod a+x backup.sh给脚本添加运行权限,运行crontab -e设置备份脚本每天运行一次:

0 0 \* \* \* /root/backup.sh > /dev/null 2>$1 &
5、 最后在存储桶中,设置“基础配置/生命周期”中,设置备份过期时间。(这里设置,30天后,前缀为back的文件将会自动删除)



编辑:航网科技   来源:腾讯云

本文版权归原作者所有 转载请注明出处

联系我们

0755-36300002

深圳市龙华区和平路龙胜商业大厦5楼B5区

资质证书

  • Copyright © 2011-2020 www.hangw.com. All Rights Reserved 深圳航网科技有限公司 版权所有 增值电信业务经营许可证:粤B2-20201122 - 粤ICP备14085080号

    在线客服

    微信扫一扫咨询客服


    全国免费服务热线
    0755-36300002

    返回顶部