备份MySQL数据库

备份MySQL数据库脚本:

#!/bin/bash
# description:  MySQL buckup shell script
# author:       lmj
# web site:     http://www.cnblogs.com/dscode 

st=$(date +%s)
USER="root" # 用户名
PASSWORD="root" # 密码
DATABASE="myblogdb" # 数据库
MAIL="[email protected]" # mail
BACKUP_DIR=/home/lmj/data_backup/ # 备份文件存储路径
LOGFILE=/home/lmj/data_backup/data_backup.log # 日志文件路径

DATE=`date +%Y%m%d-%H%M` # 用日期格式作为文件名
DUMPFILE=$DATE.sql
ARCHIVE=$DATE.sql.tar.gz
OPTIONS="-u$USER -p$PASSWORD $DATABASE"

# 判断备份文件存储目录是否存在,否则创建该目录
if [ ! -d $BACKUP_DIR ]
then
    mkdir -p "$BACKUP_DIR"
fi  

# 开始备份之前,将备份信息头写入日记文件
echo "    ">> $LOGFILE
echo "--------------------" >> $LOGFILE
echo "BACKUP DATE:" $(date +"%y-%m-%d %H:%M:%S") >> $LOGFILE
echo "-------------------" >> $LOGFILE  

# 切换至备份目录
cd $BACKUP_DIR
mysqldump $OPTIONS > $DUMPFILE 
# 判断数据库备份是否成功
if [[ $? == 0 ]]
then
    tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1
    echo "[$ARCHIVE] Backup Successful!" >> $LOGFILE
    rm -f $DUMPFILE # 删除原始备份文件,只需保留备份压缩包
    # 把压缩包文件备份到其他机器上。
    scp -P 110 $BACKUP_DIR$ARCHIVE [email protected]*.*.*.*:/home/user/data_backup/ >> $LOGFILE  2>&1
 else
    echo "Database Backup Fail!" >> $LOGFILE
# 备份失败后向管理者发送邮件提醒
mail -s "database:$DATABASE Daily Backup Fail!" $MAIL
fi
echo "Backup Process Done" 
# 删除3天以上的备份文件
# Cleaning
find $BACKUP_DIR  -type f -mtime +2 -name "*.tar.gz" -exec rm -f {} \;
				
时间: 2024-09-30 10:26:37

备份MySQL数据库的相关文章

备份MySQL数据库的命令

这篇文章主要介绍了mysql数据库备份常用语句,包括数据库压缩备份.备份多个MySQL数据库.备份多个MySQL数据库.将数据库转移到新服务器等语句 代码如下: mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库. 代码如下: mysqldump -–add-drop-tab

C#使用MysqlBackup.Net 备份MySQL数据库

首先 声明这篇博文没有什么技术水平  希望各位大神口下留情 好的  咱们进入主题 开场介绍一下这个MysqlBackup.Net dll 是国外开源的作品  官方网站 https://mysqlbackupnet.codeplex.com/ 我这里提供目前官方最新版本 2.0.9.2   解压缩后里面会有两个文件夹   binaries里面是类库 里面分各个.net版本    source code里面是源代码 有兴趣的同学可自行下载研究其代码 点击下载MysqlBackup.Net 因为我项目

一个自动备份mysql数据库的bat文件内容

自动备份mysql数据库,并已当前的日期时间为目录 copy过去, xcopy将近15年没有用dos命令,还是这么亲切 另 本方法是备份数据库文件,不是dump导出,然后再计划任务中使用,我用的是wamp,其他的环境类似的改改即可 ====dbback.bat============ NET STOP wampapacheNET STOP wampmysqldset /a t1=(1%time:~0,2%-100)*1if %t1% LSS 10 set t1=0%t1%set ymd_hms=

Shell脚本-----自动备份Mysql数据库

脚本的整体思路 1.定义需要的变量 2.利用for循环备份需要备份的库,并以库名-当天日期.sql命名,并记录相关日志 3.建立备份当天的日期的目录,向备份的Sql文件移动到该目录 4.压缩打包该目录,以节省空间,打包成功后删除该目录 5.备份目录只备份七天的数据库,第八天删除第一天的备份,目录只会存在连续七天的备份文件 6.查找备份目录下的.log日志文件,超过七天的删除 #!/bin/bash mysql_bin=/usr/local/tdoa/mysql/bin/mysqldump use

[转]一个备份MySQL数据库的简单Shell脚本

本文翻译自 iSystemAdmin 的 <A Simple Shell Script to Backup MySQL Database> Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反复运行这些命令了. 我首先要在本文带给你的是完整脚本.后面会对该脚本做说明.我假定你已经知道shell scripting. mysqldump和cronta

快照方式备份MySQL数据库及举例

快照方式备份MySQL数据库及举例 作者: 红豆殺 日期: 2011 年 03 月 17 日发表评论7条评论查看评论 一.创建逻辑卷 依照如下连接的文档创建一个逻辑卷 http://www.178-go.com/tags/lvm 要求:物理卷20G;卷组名为vg0;逻辑卷2G,逻辑卷名为mydata 创建逻辑卷挂载点,并挂载之 # mkdir /mydata # mount /dev/vgo/mydata /mydata 二.安装MySQL数据库 如果机器已装有mysql,则此步可省略 只需修改

批处理命令 BAT备份MySQL数据库

原文:批处理命令 BAT备份MySQL数据库 工作环境 Windows Server 2003 ,MySQL安装目录 D:\MySQL , WinRAR 安装目录 C:\Program Files\WinRAR\WinRAR.exe 备份数据存储的路径为 E:\数据备份,好了下面开始写DOS批处理命令了.代码如下: set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" md "E:\数据备份\%ymd%" "D:\MySQL

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

Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参考了网上的很多教程,外加自己的测试,以下脚本经测试可用.#!/bin/bash#Shell Command For Backup MySQL Database Everyday Automatically By Crontab#Author :

使用XtraBackup 备份MySQL数据库

本次测试使用XtraBackup备份MySQL数据库 版本:XtraBackup2.4.5+MySQL5.7.16 下载地址:https://www.percona.com/downloads/XtraBackup/ 1.安装XtraBackup 本次为了方便,使用解压版本进行安装,直接解压就可以用了. 使用过程中可能会遇到缺少perl依赖包的问题,我的方法是直接操作把镜像包里的perl都安装了,yum install -y perl* 2.简介 XtraBackup主要包括两个备份工具xtra

linux下远程备份mysql数据库

本次环境主要是远程备份mysql数据库的一种常见方法,对于其他知识不做太多讲解. 环境需求: 两台linux:一台mysql数据库服务器,另一台当作客户端用来做备份. 环境目标: 实现mysql数据库的远程备份 例子: (A为服务端ip为192.168.1.1    B为客户端ip为192.168.1.2) 1.首先你得在A上建立一个数据库(建立数据库名称我以 xianyu 为例) create database xianyu;   (建立数据库xianyu) 2.在A上建立一个数据库用户用来做