首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 制作脚本,实现定时备份到腾讯云对象存储

Linux 制作脚本,实现定时备份到腾讯云对象存储

作者头像
程序员纬度
发布2021-03-02 11:05:18
1.5K0
发布2021-03-02 11:05:18
举报
文章被收录于专栏:奇异维度奇异维度

1、安装coscmd

pip install coscmd

2、编辑配置文件

vi ~/.cos.conf
[common]
secret_id = 123456789
secret_key = 987654321
bucket = backup-1234567890
region = ap-beijing
max_thread = 5
part_size = 1
schema = https
verify = md5
anonymous = False

3、编辑脚本文件

vi backup.sh
#!/bin/bash
# mysql 自动备份 压缩 保留7天
# 文件名为test_db+日期
backupDatabase1=www_thehill_cn
backupDatabase2=www_citypatient_

# 代表数据库名_年月日 也可以根据需要修改 %Y%m%d%H%M%S
database1fileName=${backupDatabase1}_`date +%Y%m%d%H%M%S`
database2fileName=${backupDatabase2}_`date +%Y%m%d%H%M%S`
site1fileName=www_thehill_cn_`date +%Y%m%d%H%M%S`
site2fileName=www_citypatient_com_`date +%Y%m%d%H%M%S`
# 存放备份的目录,可以是任意位置,先创建并赋权
baseDir=/www/backup/database/
siteDir=/www/backup/site/
site1fileDir=/www/wwwroot/www.thehill.cn/
site2fileDir=/www/wwwroot/www.citypatient.com/
domain1=www_zhangleilei_cn_
domian2=www_citypatient_com_

# 备份数据库
mysqldump --defaults-extra-file=/etc/my.cnf ${backupDatabase1} > ${baseDir}${database1fileName}.sql
mysqldump --defaults-extra-file=/etc/my.cnf ${backupDatabase2} > ${baseDir}${database2fileName}.sql
# 压缩 这个大写P用来兼容绝对路径
tar -zcPvf ${baseDir}${database1fileName}.sql.tar.gz ${baseDir}${database1fileName}.sql
tar -zcPvf ${baseDir}${database2fileName}.sql.tar.gz ${baseDir}${database2fileName}.sql
# 压缩网站文件
tar -zcPvf ${siteDir}${site1fileName}.tar.gz ${site1fileDir}
tar -zcPvf ${siteDir}${site2fileName}.tar.gz ${site2fileDir}
# 删除刚刚备份的sql文件,留下压缩的
rm -f ${baseDir}${database1fileName}.sql;
rm -f ${baseDir}${database2fileName}.sql;
# 备份文件夹到cos

coscmd upload -r ${baseDir} /backup/database/
coscmd upload -r ${siteDir} /backup/site/

# 删除7天前备份的数据,只保留一星期内的数据
 find ${baseDir} -mtime +7 -name "${backupDatabase1}*.tar.gz" -exec rm -rf {} \;
 find ${baseDir} -mtime +7 -name "${backupDatabase2}*.tar.gz" -exec rm -rf {} \;
 find ${siteDir} -mtime +7 -name "${domain1}*.tar.gz" -exec rm -rf {} \;
 find ${siteDir} -mtime +7 -name "${domain2}*.tar.gz" -exec rm -rf {} \;

4、在/etc/my.cnf中加上mysql的账户密码

vi /etc/my.cnf

5、在client下添加password/user/port/host

user = root
password = password
port = 3306
host = localhost

6、给脚本赋予执行权限

chmod 755 backup.sh

7、添加定时任务

crontab -e
# 在最后一行加这一句,意思是每天3点跑脚本
0 3 * * * /root/backup.sh
# 每隔三日3点执行脚本
0 3 */3 * * /root/backup.sh

8、重启一下corntab

service crond restart

版权声明:本站原创文章 Linux 制作脚本,实现定时备份到腾讯云对象存储 由 小维 发表!

转载请注明:Linux 制作脚本,实现定时备份到腾讯云对象存储 - 小维的个人博客

部分素材来源于网络,如有侵权请联系删除!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020 年 08 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档