在低性能Linux主机上冷备份数据库到腾讯COS

基于宝塔, 宝塔虽然自带数据库备份,但是是导出,非常吃性能,所以自己弄了一个冷备份

首先安装在宝塔面板 安装 腾讯云COSFS 然后按照提示挂载到服务器

然后找一个可以临时关闭网站的方法,简单粗暴的就是

/etc/init.d/nginx stop

因为我的项目 多数是基于thinkphp , 那么还有一个办法 就是 用一个友好提示的 index_close.php 替换每一个项目的index.php,

关闭
mv index.php  index_default
mv index.close.php  index.php

打开

mv index.php  index.close.php 
mv index_default  index.php

但是有几个站是基于maccms二次开发的会员系统,那就更简单了

sed -i "s/'site_status' => '1'/'site_status' => '0'/g"  /www/www/auto.dev/application/extra/maccms.php

直接替换maccms的配置文件里面的关闭站点提示就好了,也是不用重复造轮子了. 

完整代码如下,然后在计划任务里面 添加 每天执行一次,

#! /bin/bash
# 冷备份Mysql 数据库
# 热备份 太占用系统资源
# sh /www/wwwroot/backupMysql.sh

#备份到的哪个目录 目录最好是挂载的云盘或者对象储存等
MysqlBackupDir="/www/cosfs/储存桶名字/bt_backup/database"

#关闭网站 适合maccms

sed -i "s/'site_status' => '1'/'site_status' => '0'/g"  /www/wwwroot/site_all/application/extra/maccms.php
sed -i "s/'site_status' => '1'/'site_status' => '0'/g"  /www/wwwroot/site_all_debug/application/extra/maccms.php
sed -i "s/'site_status' => '1'/'site_status' => '0'/g"  /www/wwwroot/site_g/application/extra/maccms.php
sed -i "s/'site_status' => '1'/'site_status' => '0'/g"  /www/wwwroot/site_ba/application/extra/maccms.php
sed -i "s/'site_status' => '1'/'site_status' => '0'/g"  /www/wwwroot/site_tk/application/extra/maccms.php
#关闭数据库
/etc/init.d/mysqld stop

#备份 并删除10天以前的
DATE=$(date +%Y%m%d)
DATE_RM=$(date -d "3 days ago" +%Y%m%d)

cd $MysqlBackupDir
tar -cPf ./all_$DATE.tar.gz /www/server/data
rm -rf ./all_$DATE_RM.tar.gz

#打开数据库
/etc/init.d/mysqld start
#打开网站

sed -i "s/'site_status' => '0'/'site_status' => '1'/g"  /www/wwwroot/site_all/application/extra/maccms.php
sed -i "s/'site_status' => '0'/'site_status' => '1'/g"  /www/wwwroot/site_all_debug/application/extra/maccms.php
sed -i "s/'site_status' => '0'/'site_status' => '1'/g"  /www/wwwroot/site_g/application/extra/maccms.php
sed -i "s/'site_status' => '0'/'site_status' => '1'/g"  /www/wwwroot/site_ba/application/extra/maccms.php
sed -i "s/'site_status' => '0'/'site_status' => '1'/g"  /www/wwwroot/site_tk/application/extra/maccms.php

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值