热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysqldum全库数据压缩备份通用脚本

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

随着业务的不断增长,在MySQLd上的数据势必会越来越多,那么只有备份单个库的备份脚本就不再适用实际的生产环境,因此就那篇的备份脚本重新写了下(2017-02/140392.htm),当然因为数据量的增大,磁盘空间也要节约使用,那么就可以通过压缩效率极高bzip2来对备份的数据进行进一步的压缩数据,当然如果系统中没有bzip2的话,需要安装,这个安装可以通过rpm的前端工具yum或者apt-get等安装或者是直接安装源码包都可以,这个比较简单在这里就不再做过多的赘述了,脚本如下:

#!/bin/bash
#masterbak.sh version3.0 chmod 700
#writer jim
#00 03 * * * /usr/local/scripts/master_dbbak.sh
#history
#2016.11.19
#2016.12.3
export datetime=`date +"%Y%m%d"`
export base_bindir="/usr/local/mysql/bin"
export mysql_socket="/tmp/mysql.sock"
export mysql_password="youpassword"
#当然也可以在系统的家目录下加.my.cnf在里面的[mysql]和[mysqldump]下写上备份的账户密码
export datadir="`$base_bindir/mysql -S $mysql_socket -p$mysql_password -Bse "show variables like 'datadir';" |awk '{print $2}'`"
export mysql_backup="/data/backup/mysql_backup"
export masterbakdir="$mysql_backup/masterbakdir"
export backup_log="$masterbakdir/logs"
########################设定要备份的库################################
export exclude="information_schema|performance_schema|mysql"
export all_databases=`mysql -Bse "show databases;"|egrep -v "$exclude"`
 
if [ ! -e "$backup_log/"$datetime"" ];then
        mkdir -p $backup_log/"$datetime"
fi
 
#########################记录主库库状态#################################
$base_bindir/mysql -S $mysql_socket -p$mysql_password -e "select now();show master status\G" |tee -a $backup_log/"$datetime"/masterstat_${datetime}.log
###########################开始备份#####################################
echo "============================ start mysqldump `date`" | tee -a $backup_log/"$datetime"/masterstat_${datetime}.log
 
for i in $all_databases
do
    $base_bindir/mysqldump --allow-keywords -S $mysql_socket -p$mysql_password -R --add-locks --opt $i > $masterbakdir/$i-$datetime.sql
    echo "`date` $i backup success" |tee -a $backup_log/"$datetime"/masterstat_${datetime}.log
done
 
if [ $? -eq 0 ];then
    echo "============================ end mysqldump `date +"%Y-%m-%d %H:%M:%S"`"|tee -a $backup_log/"$datetime"/masterstat_${datetime}.log
else
    echo "`date` mysqldump backup fail"|tee -a $backup_log/"$datetime"/masterstat_${datetime}.log
fi
#########################进行数据压缩#######################################
/usr/bin/bzip2 -z $masterbakdir/*.sql
####################删除7天前的备份数据及30天前的log#################
find $masterbakdir -type f -ctime +7 -name "*.bz2" -exec rm -vf {} \; >> $backup_log/free-${datetime}.log
find $backup_log -type f -ctime +7 -name "free-*" -exec rm -vf {} \;
find $backup_log -type d -ctime +30 -name "*" -exec rm -vrf {} \;
exit 0

使用mysqldump进行MariaDB 的备份  2015-07/120294.htm

使用mysqldump导出数据库  2014-10/108192.htm

基于mysqldump快速搭建从库  2015-04/116170.htm

恢复mysqldump创建的备份集  2015-02/113631.htm

使用mysqldump命令行工具创建逻辑备份  2015-02/113629.htm

mysqldump实现数据库逻辑备份 2015-08/121551.htm

mysqlpump与mysqldump及mydumper的备份速度测试  2016-12/138170.htm

MySQL的逻辑备份(mydumper+mysqldump) 2016-12/137854.htm

mysqldump 快速搭建特定库主从架构(GTID) 2016-10/136127.htm

mysqldump --master-data参数实现主从复制快速部署 2016-07/133529.htm


推荐阅读
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • nginx使用内置模块配置限速限流的方法实例_nginx
    Nginx现在已经是最火的负载均衡之一,在流量陡增的互联网面前,接口限流也是很有必要的,尤其是针对高并发的场景,下面这篇文章主要给大家介绍了关于nginx使用内置模块配置限速限流的 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
author-avatar
蓝瑟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有