首页 > 数据库 >CentOS5.7 下mysql5.7自动备份数据脚本

CentOS5.7 下mysql5.7自动备份数据脚本

时间:2023-05-12 16:04:18浏览次数:41  
标签:mysql5.7 CentOS5.7 sh date path backup 备份

mysql5.7自动备份数据库脚本

1.root用户下 用cd命令进入到想要的位置创建一个脚文文件:

// 创建脚本命令
vim backup.sh

vim 脚本名.sh


#!/bin/bash


source /etc/profile        #加载系统环境变量
source ~/.bash_profile    #加载用户环境变量
set -o nounset             #引用未初始化变量时退出
#set -o errexit            #执行shell命令遇到错误时退出

user="root"   #数据库用户名
password="123456"  #数据库密码
host="localhost"   #指向本地主机
port="3306"   #端口号
#需备份的数据库,数组
db=("sys")   #有多个数据库就在("mysql" "sys")中添加
mysql_path="/usr/local/mysql5.7"   #mysql的路径
backup_path="${mysql_path}/backup"  #备份路径
history="${backup_path}/history"   #用于存放历史数据库路径
date=$(date +%Y-%m-%d_%H-%M-%S)  #时间
#day=7         #备份7天数据需要就去掉day前面的#
backup_log="${mysql_path}/backup.log"  #创建一个log文件存放结果
echo "-----------------"$(date +%F%r)"操作开始--------------------------------"
#建立备份目录
if [ ! -e $backup_path ];then
    mkdir -p $backup_path
fi
if [ ! -e $history ];then
    mkdir -p $history
fi
#删除以前备份
#find $backup_path -type f -mtime +$day -exec rm -rf {} \; > /dev/null 2>&1

mv /usr/local/mysql5.7/backup/*  /usr/local/mysql5.7/backup/history   #将之前备份的数据库
放入history文件下
echo "开始备份数据库:${db[*]}"

#备份并压缩
backup_sql(){
    dbname=$1
    backup_name="${dbname}_${date}.sql"
    #-R备份存储过程,函数,触发器
  mysqldump -h $host -P $port -u $user -p$password $lock --default-character-set=utf8 --flush-logs -R $dbname > $backup_path/$backup_name   

    if [[ $? == 0 ]];then
        cd $backup_path
        tar -zcpvf $backup_name.tar.gz $backup_name
        size=$(du $backup_name.tar.gz -sh | awk '{print $1}')
        rm -rf $backup_name
        echo "$date 备份 $dbname($size) 成功 "
    else
        cd $backup_path
        rm -rf $backup_name
        echo "$date 备份 $dbname 失败 "
    fi
}

#循环备份
length=${#db[@]}
for (( i = 0; i < $length; i++ )); do
        backup_sql ${db[$i]} >> $backup_log 2>&1
done

echo "备份结束,结果查看 $backup_log"
du $backup_path/*$date* -sh | awk '{print "文件:" $2 ",大小:" $1}'
echo "-----------------"$(date +%F%r)"操作结束--------------------------------"

2.脚本文件添加执行权限

chmod +x backup.sh
3.测试执行脚本文件
./backup.sh
4.测试没有问题添加计划任务
crontab -e 创建任务
01 00 */1 * * /usr/local/mysql5.7/backup.sh #每天00:01分备份数据库
/usr/local/mysql5.7/backup.sh 为脚本所在地址
5 .查看任务
crontab -l 查看所有的计划任务

标签:mysql5.7,CentOS5.7,sh,date,path,backup,备份
From: https://www.cnblogs.com/tianyuanblog/p/17394407.html

相关文章

  • 详解集群级备份恢复:物理细粒度备份恢复
    摘要:在实际使用过程中,数据库集群级的故障并非高概率事件,如何安全高效地帮助客户备份恢复一部分数据库元素,才是更加实际的需求,这也是细粒度备份恢复的意义所在。本文分享自华为云社区《GaussDB(DWS)之物理细粒度备份恢复》,作者:我的橘子呢。1. 认识物理细粒度备份恢复相对于集群......
  • 详解集群级备份恢复:物理细粒度备份恢复
    摘要:在实际使用过程中,数据库集群级的故障并非高概率事件,如何安全高效地帮助客户备份恢复一部分数据库元素,才是更加实际的需求,这也是细粒度备份恢复的意义所在。本文分享自华为云社区《GaussDB(DWS)之物理细粒度备份恢复》,作者:我的橘子呢。1. 认识物理细粒度备份恢复相对于集群级备......
  • 7.数据库备份还原
    5.数据库备份还原https://blog.csdn.net/zhang41228/article/details/79893230   Linux下SqlServer的备份和还原 Eagle昊2018-04-1110:58:316760收藏8分类专栏:数据库Linux学习笔记版权 数据库同时被2个专栏收录8篇文章0订阅订阅专栏 Linux学习笔......
  • https://pengchenggang.github.io/vuejsdev-com-github 备份发布
    https://pengchenggang.github.io/vuejsdev-com-github备份发布现在还没有解决的就是开clash,代码提交不上去,只能关了提,但是关了提交,也得赶运气。提交代码体验很差~......
  • Windows的Mysql5.7社区版的安装详细操作,从无到有,安装配置一条龙服务。(压缩包自行安装,
    换了一个电脑,所有软件、环境都得重新来安装一次,安装到Mysql的时候,发现网上有两种安装方式,一种是Mysql的压缩包安装方式,这种方式直接到官网下载Mysql的压缩包,解压之后做些配置就可以了,另一种是Mysql的Installer一站式的安装,这种方法步骤相对来说少点,但是要先安装个Installer在......
  • Centos6.5 mysql中文+导入+备份
    题目yuminstallmsyqlmysql-server-yvim/etc/my.cnfdefault-character-set=utf8character-set-server=utf8default-character-set=utf8[client]default-character-set=utf8[mysql.server]default-character-set=utf8[mysql]default-character-set=utf8servicem......
  • 简述2012版SQL SERVER备份还原到2008R2版SQL SERVER的方法(转载)
    转载:http://wfsj.weifang.gov.cn/sy/sjjl/201905/t20190531_5370608.html 目前审计机关数据分析通用的数据库为SQLSERVER2008R2版本。被审计单位相关业务系统的后台数据库主要是ORACLE、SQLSERVER 。审计人员需要将不同类型或者不同SQLSERVER版本的数据库转化到SQLSERVER......
  • OPPO手机没有备份的便签误删怎么恢复
    OPPO手机以其时尚的外观设计、清晰的拍照、流畅的系统和不算高昂的定价受到了不少年轻网友的青睐,经过多年耕耘,现在OPPO也成为了国产手机品牌中的佼佼者。而在使用OPPO手机的过程中,有不少喜欢在手机便签中记事的网友都遇到了这样的问题,这就是没有备份的便签误删怎么恢复?一般在手机......
  • 随身wifi备份QCN
    备份qcn文件,需要先进行root,办法就是安装magisk,再刷一下修补过的boot文件就有root了。首先安装ardc,这是一个投屏软件,解决板子没有屏幕无法操作的问题,它的操作逻辑是鼠标左键为点击功能,右键为返回。安装完ardc后先别打开,检查一下任务管理器中,有adb或者androiddebugbridge程序在后......
  • KingbaseES V8R6备份恢复系列之 -- system-Id不匹配备份故障
    ​KingbaseESV8R6备份恢复案例之---system-Id不匹配备份故障案例说明:在KingbaseESV8R6执行备份时,在sys_log日志中出现system-id不一致的故障并伴随有归档失败,故障如下图所示:适用版本:KingbaseESV8R6一、问题分析1、查看当前数据库system-id可以通过sys_controldata-D......