mysql自动备份维护shell脚本 (copy)
#!/bin/bash
#Mysql 自动备份 压缩并上传到 指定ftp
#设想每天凌晨3点备份mysql
#编辑crontab配置文件
# * * * backupmysql.sh
#压缩并以“服务器名+时间 ”命名打包文件
#数据量小的情况下以mail的方式发送到指定邮箱(需要建立sendmail服务)
#数据量大的情况下以ftp的方式传送到指定的ftp服务器(远程ftp需开启)
#linzhanghui.blog.chinaunix.net
#程序部分以伪代码方式存在。
# #.设置mysql登陆参数
dbuser=root
dbpassword=
dbserver=localhost
dbname=cacti
dbopt=--opt
backupdir=/tmp/dbbackup/ #.设置ftp具体参数
ftpserver=192.168.137.3
ftpuser=userlin
ftppassword=passwdlin #.设置文件备份文件名,备份文件保存天数
fileprefix=lzhserver
dumpfilename=$backupdir$fileprefix`date -d now +%Y%m%d`.sql
newfile=$fileprefix-`date -d now +%Y%m%d`.tar.gz
keepdays= #.写入操作到日志文件(事先需建立)
logfile=/var/log/mysqlbackup.log
logtmp=/var/log/mybackup.tmp #=====如果没有备份文件夹则建立之======
if [ ! -d "$backupdir" ];
then
echo "无此文件夹,建立中..."
mkdir -p $backupdir
fi
#=====事先删除7天之前的备份数据库文件=====
echo "开始执行备份...">>$logfile
echo "删除保留天数之前的备份文件...">>$logfile
find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {};
echo "删除的备份文件:">>$logfile
cat $logtmp >>$logfile
echo "删除旧备份文件成功!" >>$logfile
#=====备份+打包======
if [ -f $backupdir$newfile ]
then
echo "$newfile 备份文件存在, 备份结束 ...">>$logfile
else
if [ -z $dbpasswd ]
then
mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename
else
mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename
fi
tar czvf $backupdir$newfile $dumpfilename
echo "$backupdir$newfile 备份成功!+“$压缩包容量”">>$logfile
fi
#======以ftp方式发送=====
ftp -i -n <<end_ftp
open $ftpserver
user $ftpuser $ftppassword
lcd $backupdir
hash
prompt
put $newfile
close
bye
end_ftp
如果直接使用文件夹复制的方式备份mysql数据库
1、先查一下DATADIR
mysql> show variables like '%datadir%';
2、关闲数据库
# mysqladmin shutdown
3、复制数据库文件
cp -Rf $datadir /xxx
$datadir:就是你的数据目录
另外测试过把.sql压缩成.sql.tar.gz
数据库文件可以少很多很多空间
mysql自动备份维护shell脚本 (copy)的更多相关文章
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- MySql自动备份shell
MySql黑屏备份是每个运维工程师必备的技能,以下是MySQL自动备份脚本: #/bin/bash#This is mysql backup shell on 2019/4/28 BAKUP_DIR= ...
- Mysql 自动备份脚本
转自: Mysql 自动备份脚本2 - - ITeye技术网站http://kangh.iteye.com/blog/2309091 备份方案: 备份主机:192.168.10.11 数据库服务器:1 ...
- 实现对MySQL数据库进行分库/分表备份(shell脚本)
工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...
- centos7 mysql自动备份
MySQL自动备份shell脚本 在数据库的日常维护工作中,除了保证业务的正常运行以外,就是要对数据库进行备份,以免造成数据库的丢失,从而给企业带来重大经济损失.通常备份可以按照备份时数据库状态分 ...
- 关于mysql自动备份的小方法
目前流行几种备份方式:逻辑备份.物理备份.双机热备份.备份脚本的编写等,本文分别从这些方面总结了MySQL自动备份策略的经验和技巧,一起来看看. 目前流行几种备份方式: 一.逻辑备份:使用mysql自 ...
- centos下yum安装crontab+mysql自动备份
参考博文: centos下yum安装crontab yum install vixie-cron crontabs //安装 chkconfig crond on ...
- MySQL 使用XtraBackup的shell脚本介绍
mysql_backup.sh是关于MySQL的一个使用XtraBackup做备份的shell脚本,实现了简单的完整备份和增量备份.以及邮件发送备份信息等功能.功能目前还比较简单,后续将继续完善和增加 ...
- Windows下mysql自动备份的最佳方案
网上有很多关于window下Mysql自动备份的方法,其实不乏一些不好的地方和问题,现总结出一个最好的方法供大家参考: 新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选 ...
随机推荐
- [工具] GIF 动画每帧合并到一张 PNG
功能:将 GIF 动画每帧合并到一张 PNG 需求:配合 ImageMagick 图像处理软件. 下载:[工具]Gif2Png_Aone_1.0.0.zip 使用方法: 请到 ImageMagick ...
- viewpager和fragment预加载的解决
在使用Viewpager和fragment处理中会出现预加载的问题,最近看别人的代码,终于找到了一个很好的处理方法 能有效的解决预加载的问题,在fragment都继承一个重写setUserVisibl ...
- 解决SqlPlus前台程序出现中文乱码的问题
在使用sqlplus的过程中,常常会遇到某一台机器在访问oracle数据库时中文显示乱码的问题,实际上这是因为客户端字符集和服务器字符集不一致导致的.在实际使用中,服务器字符集,客户端字符集和操作系统 ...
- MVC-自定义HttpModule处理
HttpModule是向实现类提供模块初始化和处置事件. 当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于 ...
- c++之string.find(string)
先来看一个例子吧: #include "iostream" #include "string" using namespace std; // 定义函数求str ...
- 第 29 章 CSS3 弹性伸缩布局[中]
学习要点: 1.混合过度版 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.混合过渡版 混合版本的 Flexbox 模型 ...
- 接口测试之webservice
什么是Webservice Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配 ...
- Hibernate框架(未完待续······)
作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编 ...
- MongoDB的内置角色 Built-In Roles
关于芒果的权限控制说白了就是定义 Role(角色) 来控制对数据库进行的操作(调用的方法比如查询方法find). 系统内置的Role分为 以下几大类: Database User Roles 这个是针 ...
- Photopile JS – 帮助你实现精致的照片堆叠效果
Photopile JS 是模拟照片散布堆叠在一起的 JavaScript/jQuery 图片库.点击缩略图,照片会弹出放大 ,再次点击照片会返回.缩略图是可拖动的,允许照片深深的堆在一起而不被覆盖, ...