`
dalezhu
  • 浏览: 205945 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

应用mysql的定时备份

    博客分类:
  • DB
阅读更多

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

代码:

#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by SearchDatabase
#2005-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

分享到:
评论

相关推荐

    mysql 定时备份 工具 (windows环境)

    下面将详细介绍如何在Windows上使用工具进行MySQL定时备份。 首先,我们需要一个合适的工具来执行这个任务。在这个场景中,我们讨论的可能是名为`mysqlbak`的工具。`mysqlbak`可能是一个自定义脚本或第三方软件,...

    mysql定时备份(linux脚本).zip

    标题中的"mysql定时备份(linux脚本)"指的是一个使用Linux shell编写的脚本,用于自动执行MySQL数据库的备份任务。这个脚本通常会包含以下几个关键部分: 1. **连接信息**:包括MySQL服务器的IP地址、端口、用户名和...

    linux下mysql定时备份

    ### Linux下MySQL定时备份知识点详解 #### 一、概述 在Linux环境中,为了确保数据的安全性和可用性,定期对MySQL数据库进行备份是非常重要的。本文将详细介绍如何在Linux系统下设置MySQL数据库的定时备份,包括...

    [数据库] Navicat for MySQL定时备份数据库及数据恢复1

    本文将详细介绍如何使用Navicat for MySQL进行数据库的定时备份以及数据恢复,这对于保护数据库免受意外损坏或数据丢失至关重要。Navicat是一款强大的数据库管理工具,支持多种数据库系统,包括MySQL。 ### 一、...

    定时备份mysql数据库

    定时备份MySQL数据库是一项必不可少的任务,确保在出现意外情况如硬件故障、软件错误或人为操作失误时,能够快速恢复到正常状态。本篇文章将详细介绍如何配置定时备份MySQL数据库,包括每日、每周和每月的备份策略。...

    qt mysql定时备份

    这通常通过编程实现,而QT作为一个强大的跨平台应用程序开发框架,提供了与MySQL数据库交互的API,使得我们可以利用QT来编写定时备份的程序。本文将深入探讨如何使用QT和MySQL进行数据库的定时备份。 首先,你需要...

    mysql定时备份1

    MySQL定时备份是数据库管理中的重要环节,确保在数据丢失或系统故障时能够恢复到最近的状态。在Linux环境下,可以通过shell脚本结合MySQL的mysqldump工具实现这一功能。以下是一份详细的步骤来设置MySQL定时备份。 ...

    mysql数据库定时备份,按时间存放sql文件

    "mysql数据库定时备份,按时间存放sql文件"的实践方式是通过编写批处理(bat)文件来实现自动化的数据库备份,并将备份文件按照时间戳命名,以便管理和恢复。 首先,我们需要了解如何创建SQL文件备份。在MySQL中,...

    mysql定时备份脚本

    ### 关键知识点四:计划任务与定时备份 - **计划任务**:利用cron守护进程可以轻松实现定时任务。在Linux系统中,通过编辑crontab文件来设置定时任务。在示例中,备份脚本`dbbackup.sh`被设置为每天凌晨两点执行,...

    定时备份数据库,及问题总结 亲测有效

    【定时备份数据库】是保障数据安全的重要措施,尤其是在企业级应用中,确保数据的完整性和可恢复性至关重要。本文将详细介绍如何在Linux环境下,利用MySQL数据库的`mysqldump`工具实现定时备份,并提供了一个亲测...

    在win10系统中设置定时任务自动备份MySQL数据库文件

    在Windows 10系统中,设置定时任务自动备份MySQL数据库文件是一项重要的数据保护措施,它可以帮助用户定期保存和恢复重要数据。以下是如何实现这一功能的详细步骤和相关知识点。 首先,我们需要了解MySQL数据库的...

    java 定时备份数据库

    在Java编程环境中,我们可以利用Java的定时任务框架如ScheduledExecutorService或者第三方库Quartz来实现MySQL数据库的定时备份。MySQL数据库备份通常涉及到两种主要的方法:全量备份和增量备份。全量备份是复制整个...

    多备份-MySQL数据库自动备份工具 v1.0

    2、定时计划任务,全自动增量备份,完全帮您省去频繁手工备份的烦恼。1)可以设置每天/每周/每月,在具体的时间自动备份。2)不限制创建的计划任务数量。3、备份数据全部加密,自动压缩存储,私有密钥和cloud5技术保证...

    实现MySQL自动备份的方法

    本文将详细介绍如何通过批处理命令和定时功能来实现对MySQL数据库的定时备份。 #### 一、使用Windows批处理命令进行MySQL数据库备份 ##### 方法一:文件复制备份 此方法适用于简单的场景,尤其是当数据库文件不大...

    mysql定时备份

    ### MySQL定时备份重要知识点 #### 一、连接数据库 在进行MySQL定时备份之前,首先需要确保能够成功连接到目标数据库。通常,我们会使用图形化工具如Navicat来进行操作。 **知识点1:连接数据库** - **工具选择**...

    mysql数据库备份批处理

    批处理是一种自动化执行特定任务的方法,尤其适用于重复性的操作,如定时备份MySQL数据库。在这个场景中,批处理脚本可以帮助我们简化这一过程。 批处理文件通常是以`.bat`为扩展名的Windows批处理脚本,它包含了一...

    mysql 文件夹 备份

    【MySQL文件夹备份】是一个重要的数据管理任务,特别是在企业级应用中,确保数据库的安全和可恢复性至关重要。MySQL是世界上最流行的开源关系型数据库管理系统之一,它提供了多种方式来备份和恢复数据。这篇博客链接...

    Windows下MySql数据库增量全量备份

    对于增量备份,需要先恢复全量备份,然后应用增量备份的SQL语句。以下是一个还原示例: ```batch @echo off set DB_NAME=mydatabase set USER_NAME=root set PASSWORD=mypassword set BACKUP_DIR=C:\MySQL_Backups ...

    MySQL自动定时备份方式的实现.pdf

    随着信息技术的快速发展,企业广泛应用MySQL数据库来存储关键业务数据。为了确保数据的安全性,定期备份数据库变得至关重要。本文主要探讨如何在多种操作系统平台上实现MySQL数据库的自动定时备份,包括Windows和...

    Linux下定时备份MySQL数据库的Shell脚本.pdf

    ### Linux下定时备份MySQL数据库的Shell脚本知识点详解 #### 一、背景介绍与重要性 对于每一个在线网站或服务而言,数据备份是一项至关重要的任务。无论是为了应对未来的版本升级,还是服务器迁移的需求,定期备份...

Global site tag (gtag.js) - Google Analytics