#!/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)的更多相关文章

  1. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

  2. MySql自动备份shell

    MySql黑屏备份是每个运维工程师必备的技能,以下是MySQL自动备份脚本: #/bin/bash#This is mysql backup shell on 2019/4/28 BAKUP_DIR= ...

  3. Mysql 自动备份脚本

    转自: Mysql 自动备份脚本2 - - ITeye技术网站http://kangh.iteye.com/blog/2309091 备份方案: 备份主机:192.168.10.11 数据库服务器:1 ...

  4. 实现对MySQL数据库进行分库/分表备份(shell脚本)

    工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...

  5. centos7 mysql自动备份

    MySQL自动备份shell脚本   在数据库的日常维护工作中,除了保证业务的正常运行以外,就是要对数据库进行备份,以免造成数据库的丢失,从而给企业带来重大经济损失.通常备份可以按照备份时数据库状态分 ...

  6. 关于mysql自动备份的小方法

    目前流行几种备份方式:逻辑备份.物理备份.双机热备份.备份脚本的编写等,本文分别从这些方面总结了MySQL自动备份策略的经验和技巧,一起来看看. 目前流行几种备份方式: 一.逻辑备份:使用mysql自 ...

  7. centos下yum安装crontab+mysql自动备份

    参考博文: centos下yum安装crontab yum install vixie-cron crontabs      //安装 chkconfig crond on               ...

  8. MySQL 使用XtraBackup的shell脚本介绍

    mysql_backup.sh是关于MySQL的一个使用XtraBackup做备份的shell脚本,实现了简单的完整备份和增量备份.以及邮件发送备份信息等功能.功能目前还比较简单,后续将继续完善和增加 ...

  9. Windows下mysql自动备份的最佳方案

    网上有很多关于window下Mysql自动备份的方法,其实不乏一些不好的地方和问题,现总结出一个最好的方法供大家参考: 新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选 ...

随机推荐

  1. Delphi 10.1 Berlin 官方未列之修正

    Delphi 10.1 Berlin 官方修正列表: Bug fix list for RAD Studio 10.1 Berlin Delphi 10.1 Berlin 官方未列之修正: 修正 iO ...

  2. themepark模板中奇特的编码

    编码问题虽然经常碰到,但通过编码来实现源代码加密的是第一次碰到.只能用神奇来形容. 而且研究了几个小时,没有想到解决办法.代码基本可以通过不断执行输出,但无法判断是何种编码.

  3. mysql学习笔记 第六天

    改变数据表的结构: alter table tb_name action,[action,action](使用alter table 之前,需要查看数据表的当前定义,需要执行show create t ...

  4. win7系统旗舰版path

    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShel ...

  5. C#读取Excel文件:通过OleDb连接,把excel文件作为数据源来读取

    转载于:http://developer.51cto.com/art/200908/142392.htm C#读取Excel文件可以通过直接读取和OleDb连接,把excel文件作为数据源来读取:   ...

  6. HTTP 方法:GET 对比 POST

    什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信. HTTP 的工作方式是客户机与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用程 ...

  7. tomcat 5.5、6、7各版本的web-app标准

    刚把上周说的公司内各工程的web.xml给统一了,顺便看了下每个tomcat版本对应的标准servlet版本,如下: The XSD version is preferred since JSP 2. ...

  8. Javascript Object、Function对象

    1.Object对象 原型对象 原型是对象的一个属性,也就是prototype属性,每个对象都有这个内部属性,而且他本身也是一个对象. <script type="text/javas ...

  9. HTML动画分类 HTML5动画 SVG库 SVG工具 Canvas动画工具

     1.js配合传统css属性控制,可以使用setTimeout或者高级的requestAnimationFrame 2.css3 3.svg 4.canvas(当然,这个还是要配合js)   也许这么 ...

  10. 微软正开发Office Reader和Office Lens

    据熟知微软Office计划的消息人士透露,微软目前正开发新Windows 8风格的Office应用程序,该应用程序代号被微软称为Office Reader,而为Windows Phone开发的应用程序 ...