美文网首页
MySQL定时备份配置

MySQL定时备份配置

作者: 阿乐_822e | 来源:发表于2021-06-23 14:07 被阅读0次

备份工具:为提高效率,故采用物理备份方案,备份工具使用Percona公司xtrabackup,版本号:2.4.4,每台数据库服务器上都要安装。

备份策略:每日凌晨03:00备份一次,数据存放于/mysqlbak目录下,备份日志名为“bak.log",只保留最新三份备份,过时备份自动删除

1、备份脚本

$ mkdir -p /mysqlbak && cd /mysqlbak
$ cat >>bak.sh<<EOF

#!/bin/bash
source /etc/profile
source ~/.bash_profile
cd /mysqlbak
let dirlen=`ls -lrt |grep 'dr'|awk {'print $9'}|wc -l`
echo -e "定时任务开始于: " `date` "\n" >>/mysqlbak/bak.log
""
if [  $dirlen -gt 2 ]; then
   let delline=` expr $dirlen-2`
   echo  -e "删除"$delline"个较早的备份目录\n">>/mysqlbak/bak.log
   ls -lrt |grep 'dr'|awk {'print $9'}|head -$delline>>/mysqlbak/bak.log
   ls -lrt |grep 'dr'|awk {'print $9'}|head -$delline|xargs rm -rf    
fi

echo  -e "现在开始备份数据库请等待.....\n">>/mysqlbak/bak.log
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root /mysqlbak>/dev/null
if [ $? -eq 0 ]; then
   echo  -e "Ok!备份成功!\n">>/mysqlbak/bak.log
   echo -e "定时任务结束于: " `date` "\n">>/mysqlbak/bak.log
   exit 0
else 
   echo  -e "Warn:备份失败!\n"
   exit 1
fi

EOF

$ chmod +x bak.sh

PS: 在脚本头部添加"source /etc/profile"与"
source ~/.bash_profile"是为了在执行时添加环境变量,否则下面的innobackupex 命令可能会发生找不到路径的情况,因为cron定时任务是不是自动添加环境变量设置的

2、添加定时任务

$ (crontab -l | grep "$cron_job"; echo "0 3 * * * /mysqlbak/bak.sh >/dev/null 2>&1") | crontab - 
$ crontabl -l
0 3 * * * /mysqlbak/bak.sh >/dev/null 2>&1

3、查看任务执行情况

$ cat /mysqlbak/bak.log
定时任务开始于:  2021年 06月 23日 星期三 00:21:01 CST 

删除3个较早的备份目录
2021-06-22_23-33-49
2021-06-22_23-33-50
2021-06-22_23-33-51
现在开始备份数据库请等待.....
Ok!备份成功!
定时任务结束于:  2021年 06月 23日 星期三 00:21:17 CST 
......

相关文章

  • mysql定时备份

    linux 定期备份mysql 创建mysql_backup.sh脚本 修改crontab 定时配置 添加配置每天...

  • MySQL定时备份配置

    备份工具:为提高效率,故采用物理备份方案,备份工具使用Percona公司xtrabackup,版本号:2.4.4,...

  • Linux笔记

    Linux定时任务 Mysql备份 Linux+Mysql定时备份 * * * * * user task分 时 ...

  • 实战-MySQL定时增量备份(2)

    阅读本文大约需要 9 分钟 实战-MySQL定时全量备份(1) 实战-MySQL定时增量备份(2) 实战-将MyS...

  • mysql总结(持续更新)

    资料 官方mysql 5.1文档 酷壳mysql文章 配置 绿色版Mysql的安装配置 备份 MySQL的备份与还...

  • shell自动备份mysql脚本

    作用 定时执行mysql全量备份,并上传到备用服务器。使用mysqldump备份mysql,scp上传文件到备份服...

  • mysql

    mysql 查看表占用 查看慢查询 开启远端权限 定时备份sql,那么可在/etc/crontab配置文件中加入下...

  • linux mysql 每天定时备份

    功能:mysql 每天定时备份, 并删除7天以前的备份mysql_dumps.sh: 通过linux cron设置...

  • shell 定期备份mysql

    mysql数据库需要每天定时备份,于是写了个脚本,加到crontab里面,每天定时备份,直接上脚本

  • shell定时备份mysql

    在服务器上用shell定时备份mysql 1. 在crontab中加入定时备份任务 20 1 * * * cd /...

网友评论

      本文标题:MySQL定时备份配置

      本文链接:https://www.haomeiwen.com/subject/hcjbyltx.html