可以将这个脚本放进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
|
分享到:
相关推荐
下面将详细介绍如何在Windows上使用工具进行MySQL定时备份。 首先,我们需要一个合适的工具来执行这个任务。在这个场景中,我们讨论的可能是名为`mysqlbak`的工具。`mysqlbak`可能是一个自定义脚本或第三方软件,...
标题中的"mysql定时备份(linux脚本)"指的是一个使用Linux shell编写的脚本,用于自动执行MySQL数据库的备份任务。这个脚本通常会包含以下几个关键部分: 1. **连接信息**:包括MySQL服务器的IP地址、端口、用户名和...
### Linux下MySQL定时备份知识点详解 #### 一、概述 在Linux环境中,为了确保数据的安全性和可用性,定期对MySQL数据库进行备份是非常重要的。本文将详细介绍如何在Linux系统下设置MySQL数据库的定时备份,包括...
本文将详细介绍如何使用Navicat for MySQL进行数据库的定时备份以及数据恢复,这对于保护数据库免受意外损坏或数据丢失至关重要。Navicat是一款强大的数据库管理工具,支持多种数据库系统,包括MySQL。 ### 一、...
定时备份MySQL数据库是一项必不可少的任务,确保在出现意外情况如硬件故障、软件错误或人为操作失误时,能够快速恢复到正常状态。本篇文章将详细介绍如何配置定时备份MySQL数据库,包括每日、每周和每月的备份策略。...
这通常通过编程实现,而QT作为一个强大的跨平台应用程序开发框架,提供了与MySQL数据库交互的API,使得我们可以利用QT来编写定时备份的程序。本文将深入探讨如何使用QT和MySQL进行数据库的定时备份。 首先,你需要...
MySQL定时备份是数据库管理中的重要环节,确保在数据丢失或系统故障时能够恢复到最近的状态。在Linux环境下,可以通过shell脚本结合MySQL的mysqldump工具实现这一功能。以下是一份详细的步骤来设置MySQL定时备份。 ...
"mysql数据库定时备份,按时间存放sql文件"的实践方式是通过编写批处理(bat)文件来实现自动化的数据库备份,并将备份文件按照时间戳命名,以便管理和恢复。 首先,我们需要了解如何创建SQL文件备份。在MySQL中,...
### 关键知识点四:计划任务与定时备份 - **计划任务**:利用cron守护进程可以轻松实现定时任务。在Linux系统中,通过编辑crontab文件来设置定时任务。在示例中,备份脚本`dbbackup.sh`被设置为每天凌晨两点执行,...
【定时备份数据库】是保障数据安全的重要措施,尤其是在企业级应用中,确保数据的完整性和可恢复性至关重要。本文将详细介绍如何在Linux环境下,利用MySQL数据库的`mysqldump`工具实现定时备份,并提供了一个亲测...
在Java编程环境中,我们可以利用Java的定时任务框架如ScheduledExecutorService或者第三方库Quartz来实现MySQL数据库的定时备份。MySQL数据库备份通常涉及到两种主要的方法:全量备份和增量备份。全量备份是复制整个...
2、定时计划任务,全自动增量备份,完全帮您省去频繁手工备份的烦恼。1)可以设置每天/每周/每月,在具体的时间自动备份。2)不限制创建的计划任务数量。3、备份数据全部加密,自动压缩存储,私有密钥和cloud5技术保证...
本文将详细介绍如何通过批处理命令和定时功能来实现对MySQL数据库的定时备份。 #### 一、使用Windows批处理命令进行MySQL数据库备份 ##### 方法一:文件复制备份 此方法适用于简单的场景,尤其是当数据库文件不大...
在Windows 10系统中,设置定时任务自动备份MySQL数据库文件是一项重要的数据保护措施,它可以帮助用户定期保存和恢复重要数据。以下是如何实现这一功能的详细步骤和相关知识点。 首先,我们需要了解MySQL数据库的...
### MySQL定时备份重要知识点 #### 一、连接数据库 在进行MySQL定时备份之前,首先需要确保能够成功连接到目标数据库。通常,我们会使用图形化工具如Navicat来进行操作。 **知识点1:连接数据库** - **工具选择**...
对于增量备份,需要先恢复全量备份,然后应用增量备份的SQL语句。以下是一个还原示例: ```batch @echo off set DB_NAME=mydatabase set USER_NAME=root set PASSWORD=mypassword set BACKUP_DIR=C:\MySQL_Backups ...
批处理是一种自动化执行特定任务的方法,尤其适用于重复性的操作,如定时备份MySQL数据库。在这个场景中,批处理脚本可以帮助我们简化这一过程。 批处理文件通常是以`.bat`为扩展名的Windows批处理脚本,它包含了一...
【MySQL文件夹备份】是一个重要的数据管理任务,特别是在企业级应用中,确保数据库的安全和可恢复性至关重要。MySQL是世界上最流行的开源关系型数据库管理系统之一,它提供了多种方式来备份和恢复数据。这篇博客链接...
随着信息技术的快速发展,企业广泛应用MySQL数据库来存储关键业务数据。为了确保数据的安全性,定期备份数据库变得至关重要。本文主要探讨如何在多种操作系统平台上实现MySQL数据库的自动定时备份,包括Windows和...
### Linux下定时备份MySQL数据库的Shell脚本知识点详解 #### 一、背景介绍与重要性 对于每一个在线网站或服务而言,数据备份是一项至关重要的任务。无论是为了应对未来的版本升级,还是服务器迁移的需求,定期备份...