`
clin8888
  • 浏览: 55795 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个Mysql自动备份脚本

阅读更多

     可以将这个脚本放进crontab,每天凌晨执行一次,自动备份 这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。

 

#!/bin/bash 
#This is a ShellScript For Auto DB Backup 
#Powered by aspbiz 
#2004-09 

#Setting 
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,
#以及备份方式 
#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy 
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz 
DBName=mysql 
DBUser=root 
DBPasswd= 
BackupPath=/root/ 
LogFile=/root/db.log 
DBPath=/var/lib/mysql/ 
#BackupMethod=mysqldump 
#BackupMethod=mysqlhotcopy 
#BackupMethod=tar 
#Setting End 


NewFile="$BackupPath"db$(date +%y%m%d).tgz 
DumpFile="$BackupPath"db$(date +%y%m%d) 
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz 

echo "-------------------------------------------" >> $LogFile 
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile 
echo "--------------------------" >> $LogFile 
#Delete Old File 
if [ -f $OldFile ] 
then 
   rm -f $OldFile >> $LogFile 2>&1 
   echo "[$OldFile]Delete Old File Success!" >> $LogFile 
else 
   echo "[$OldFile]No Old Backup File!" >> $LogFile 
fi 

if [ -f $NewFile ] 
then 
   echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile 
else 
   case $BackupMethod in 
   mysqldump) 
      if [ -z $DBPasswd ] 
      then 
         mysqldump -u $DBUser --opt $DBName > $DumpFile 
      else 
         mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile 
      fi 
      tar czvf $NewFile $DumpFile >> $LogFile 2>&1 
      echo "[$NewFile]Backup Success!" >> $LogFile 
      rm -rf $DumpFile 
      ;; 
   mysqlhotcopy) 
      rm -rf $DumpFile 
      mkdir $DumpFile 
      if [ -z $DBPasswd ] 
      then 
         mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1 
      else 
         mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1 
      fi 
      tar czvf $NewFile $DumpFile >> $LogFile 2>&1 
      echo "[$NewFile]Backup Success!" >> $LogFile 
      rm -rf $DumpFile 
      ;; 
   *) 
      /etc/init.d/mysqld stop >/dev/null 2>&1 
      tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1 
      /etc/init.d/mysqld start >/dev/null 2>&1 
      echo "[$NewFile]Backup Success!" >> $LogFile 
      ;; 
   esac 
fi 

echo "-------------------------------------------" >> $LogFile 

 

转摘:http://database.51cto.com/art/200510/9851.htm

分享到:
评论

相关推荐

    Linux下Mysql自动备份脚本

    Linux下自动备份Mysql文件shell脚本。

    Windows下MySql自动备份脚本(有备份日志,且可以删除历史备份).zip

    "Windows下MySql自动备份脚本(有备份日志,且可以删除历史备份)"的资源提供了一个解决方案,它是一个批处理脚本(MysqlAutoBackup.bat),能够自动化执行MySQL的备份过程,同时生成备份日志并清理历史备份。...

    mysql自动实现备份脚本

    - 脚本需赋予执行权限:使用`chmod +x mysql自动备份脚本.txt`命令赋予脚本执行权限。 - 设置定时任务:可以使用`crontab`命令来安排脚本的执行时间,例如每天凌晨1点运行一次备份。 5. **配置脚本** - 用户和...

    mysql 自动备份脚本的方法

    本文将详细介绍如何创建一个MySQL自动备份脚本,适用于Windows 2003和XP操作系统。我们将讨论以下几个核心知识点: 1. **MySQL备份的重要性**: 数据库中的信息是业务的核心,任何意外的数据丢失都可能导致严重...

    docker环境下的mysql数据库自动备份脚本

    docker环境下的mysql数据库自动备份脚本,配置到系统定时任务中,能够每天自动全库或者指定实例备份数据库,删除七天前的旧备份。

    windows下mysql的自动备份脚本

    windows下mysql的自动备份脚本windows下mysql的自动备份脚本windows下mysql的自动备份脚本

    mysql自动备份脚本

    linux下定时自动备份mysql数据库,并保存备份文件与备份日志到指定路径下。

    一个Mysql自动备份脚本.txt

    mysql

    Windows下Mysql自动备份数据脚本

    1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库没有备份成功。 4.支持保留多少次备份。也就是删除多少次...

    Linux平台Mysql自动备份脚本

    本文将详细介绍一个适用于Linux平台下的MySQL自动备份脚本。通过该脚本,可以实现MySQL数据库的定时备份,并按照一定规则管理备份文件,确保数据安全的同时减少磁盘空间占用。 #### 二、备份脚本结构分析 ##### ...

    Windows下MySql自动备份脚本(有备份日志,且可以删除历史备份)

    此批处理,是为一位朋友写的在Windows下自动备份Mysql数据库,今天共享出来,加强了一些功能。和改进了获取数据库列表的方式。 此批处理脚本的功能: 在配置正确的情况下,如果直接运行脚本,将备份指定MySQL数据库...

    Windows下MySql自动备份脚本-支持压缩备份-删除历史备份

    在Windows下自动备份MySQL数据库的批处理脚本。 主要功能: 1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库...

    MySQL(Docker) 自动备份 Shell 脚本

    今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab ...

    mysql 自动备份数据库脚本

    MySQL数据库在日常运营中起着至关重要的作用,因此定期备份是...以上就是关于"mysql 自动备份数据库脚本"的相关知识点,通过理解并正确运用这些概念,可以构建一个稳定、高效的数据库自动备份系统,确保数据的安全。

    mysql自动备份shell脚本

    MySQL自动备份是保护网站数据安全的关键措施,尤其是在服务器上运行着关键业务的环境中。手动备份虽然可靠,但耗时且容易遗漏,而通过编写shell脚本实现自动化备份则能极大地提高效率,确保数据的安全性。以下是一些...

    Windows下MySql自动备份脚本>单数据库版本

    "Windows下MySql自动备份脚本>单数据库版本"是一个专门为MySQL设计的批处理脚本,用于实现定期自动备份单个数据库。下面我们将深入探讨这个脚本的工作原理、配置方法以及如何利用它来构建一个有效的数据库备份策略。...

    mysql数据备份脚本

    创建 MySQL 自动备份脚本的基本步骤如下: 1. **安装 MySQL 客户端工具**:为了在命令行中执行备份,你需要 MySQL 的命令行客户端(如 `mysql.exe` 和 `mysqldump.exe`)。通常,这些工具会随 MySQL Server 一起...

    Mysql自动备份脚本

    MySQL自动备份脚本是数据库管理中的一个重要环节,它确保了数据的安全性和可恢复性。在IT行业中,数据丢失可能会导致重大损失,因此定期备份是非常必要的。以下是对标题和描述中涉及的知识点的详细说明: 1. **...

Global site tag (gtag.js) - Google Analytics