数据是一个比较重要的数据,经常需要备份,每次都手动比较麻烦。本脚本主要现实在CentOS中实现对数据库的备份和保留最近十五天的备份文件。避免太多无用陈旧的备份占用空间。

#!/bin/bashid="root" 
#用户名
pwd="123123"
#密码
dbs="conedu commlib"
#数据库名字的列表,多个数据库用空格分开。
backuppath="/root/mysqlbackup"
#保存备份的位置
day=15  
#保留最近几天的备份
[ ! -d $backpath ] &&mkdir -p $backuppath  
#判断备份目录是否存在,不存时新建目录。
cd $backuppath  
#转到备份目录,这句话可以省略。可以直接将路径到命令的也行。
backupname=mysql_$(date +%Y-%m-%d)  
#生成备份文件的名字的前缀,不带后缀。
for db in $dbs;   #dbs是一个数据名字的集合。遍历所有的数据。
do
  mysqldump -u$id -p$pwd -S /var/lib/mysql/mysql.sock $db >$backupname_$db.sql  #备份单个数据为.sql文件。放到当前位置
  if [ "$?" == "0" ]  #$? 得到上一个shell命令的执行的返回值。0表示执行成功。其他表示错误。并将将结果写入到日志中。
  then
      echo $(date +%Y-%m-%d)" $db  mysqldump sucess">>mysql.log
  else
     echo $(date +%Y-%m-%d)"  $db mysql dump failed">>mysql.log
     exit 0
  fidonetar -czf $backupname.tar.gz *.sql #压缩所有sql文件if [ "$?" == "0" ]then
  echo $(date +%Y-%m-%d)" tar sucess">>mysql.logelse
  echo $(date +%Y-%m-%d)" tar failed">>mysql.log
  exit 0firm -f *.sql  #删除所有的sql文件delname=mysql_$(date -d "$day day ago" +%Y-%m-%d).tar.gz  #得到要删除的太旧的备份的名字。rm -f $delname  #删除文件。

只要用cron 指定时间,自动备份即可。

在CentOS实现mysql数据库的自动备份的更多相关文章

  1. Mysql数据库如何自动备份

    Mysql数据库如何自动备份 一.总结 一句话总结:用navicat配合windows的批处理即可 navicat windows批处理 二.Mysql数据库自动备份 参考:Mysql数据库自动备份 ...

  2. Linux下实现mysql数据库每天自动备份

    Linux下实现mysql数据库每天自动备份 1.基本操作步骤 a.创建备份目录 mkdir -m 777 /home/wwwroot/backup b.创建备份脚本sh vim /home/wwwr ...

  3. Linux实现MySQL数据库凌晨自动备份

    Linux实现MySQL数据库凌晨自动备份 备份多数据库,每天凌晨两点执行,使用当前年月日作为文件夹,不存在该文件夹就创建,删除七天前备份过的文件. 定时调度使用crontab 1 login_use ...

  4. MySQL数据库的自动备份与数据库被破坏后的恢复1

    一.前言: 当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小. ...

  5. MySQL数据库的自动备份与数据库被破坏后的恢复(3)

    [2] 当数据库被修改后的恢复方法 数据库被修改,可能存在着多方面的原因,被入侵.以及相应程序存在Bug等等,这里不作详细介绍.这里将只介绍在数据库被修改后,如果恢复到被修改前状态的方法. 具体和上面 ...

  6. MySQL数据库的自动备份与数据库被破坏后的恢复(2)

    测试自动备份正常运转与否(备份恢复的方法) 这里,以通过实际操作的过程来介绍问题出现后的恢复方法. [1] 当数据库被删除后的恢复方法 首先建立一个测试用的数据库. [root@CentOS ~]# ...

  7. CentOS下MYSQL数据库的主从备份配置

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/limingzhong198/articl ...

  8. linux下如何实现mysql数据库定时自动备份

    概述   备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程.而对于一些网站.系统来说,数据库就是一切,所以做好 ...

  9. Windows2003 下 MySQL 数据库每天自动备份

    1. 环境: windows server 2003 + Apache 2.0 + PHP5 + MySQL 4.0.26 . 2. 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为  ...

随机推荐

  1. 问题集录01--java对list列表进行排序

    用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** * 根据order对User排序 */ public class  ...

  2. log4net.xml

    <?xml version="1.0" encoding="UTF-8"?> <log4net> <root> <le ...

  3. Storm框架入门

    1 Topology构成 和同样是计算框架的Mapreduce相比,Mapreduce集群上运行的是Job,而Storm集群上运行的是Topology.但是Job在运行结束之后会自行结束,Topolo ...

  4. Java - 深拷贝技巧

    先让我描述一下问题:我在某Action(struts2.x)-A中写了一个功能P,以当前用户的某个标识F == 1时需要走这个功能,而且这个功能因某些原因已经侵入到了其他一些method中.顺便一提, ...

  5. vs2017启动调试,点击浏览器或输入后回车浏览器闪退,调试中断

    vs2017在启动调试后,浏览器运行,点击地址栏刚输入几个字符,mmmmm居然闪退了! 什么情况呢?测试一下,换其他浏览器进行调试,偶尔不会有问题, 可是第二天......还是一下 于是浏览器——ww ...

  6. 五、mybatis集成使用

    1.添加依赖 <!-- mybatis-spring集成--> <dependency> <groupId>org.mybatis.spring.boot</ ...

  7. Apache2.4+PHP7.3 安装及整合教程[Windows]

    系统环境:Win10 64位 Apache版本:2.4.37 64位 PHP版本:7.3.1 64位 下载 安装的第一步肯定是下载了,可以直接到我的网盘(密码:18tp)下载,下载完成后将文件解压到你 ...

  8. 获取指定包名下继承或者实现某接口的所有类(扫描文件目录和所有jar)

    import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.net.JarURLCo ...

  9. POJ 2923(状态集合背包)

    http://www.cnblogs.com/kuangbin/archive/2012/09/14/2685430.html #include <iostream> #include & ...

  10. 基于Maven的Spring + Spring MVC + Mybatis的环境搭建

    基于Maven的Spring + Spring MVC + Mybatis的环境搭建项目开发,先将环境先搭建起来.上次做了一个Spring + Spring MVC + Mybatis + Log4J ...