`

Linux自动备份MySQL数据库

 
阅读更多

MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据。

  1、创建备份文件夹

  #cd /www

  #makedir backup

  2、编写运行脚本

  #vi autobackup

  写入以下内容:

  filename=`date +%Y%m%d`

  mysql_bin_dir/mysqldump –opt dataname -u user -ppassword | gzip >   /www/mysqlbackup/name$filename.gz

  保存退出

  说明:

  (1)mysql_bin_dir:mysql的bin路径;

  (2)dataname:数据库名;

  (3)user:数据库用户名;

  (4)password:用户密码;

  (5)name:自定义备份文件前缀标识。

  如上例,将自动备份mysql数据库,并以gzip压缩方式存储,文件名为name20080101.gz的形式。

  3、为脚本添加执行权限

  #chmod +x autobackup

  4、让crontab来完成定期执行的任务

  这一步中,Redhat的方法会不一样,后面专门给出。

  编辑crontab:

  #vi /etc/crontab

  在最后一行中加入:

  01 5 * * * root /www/autobackup

  每天5点运行脚本,也可以修改5为其他指定时间。

  Redhat方法:

  Redhat的crontab采用按时间调用4个目录(/etc/cron.hourly:每小时;/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中脚本出来运行的方式。

  Redhat中只需要将刚才编辑的脚本复制到相应的目录即可。

  5、重启crontab

  #/etc/rc.d/init.d/crond restart

  完成。

 

====================================================================、

Mysql自动备份脚本供大家参考,实现了定期备份Mysql数据库,并且可以选在在每周的一天做指定目录下文件的全面备份,备份文件自动上传到你指定的FTP上,保证了备份的可靠性。

 

#!/bin/sh 
# System + MySQL backup script 
# Full backup day - Sun (rest of the day do incremental backup) 
# Copyright (c) 2005-2006 nixCraft <http://www.cyberciti.biz/fb/> 
# This script is licensed under GNU GPL version 2.0 or above 
# Automatically generated by 
# http://bash.cyberciti.biz/backup/wizard-ftp-script.php 
# --------------------------------------------------------------------- 
### System Setup ### 
##备份本件本地目录## 
DIRS="/home/xxxx" 
BACKUP=/tmp/backup.$$ 
##日期格式 可以自己调节## 
NOW=$(date +"%Y-%m-%d") 
INCFILE="/home/xxxx" 
DAY=$(date +"%u") 
##星期天完全备份 可以自己调节## 
FULLBACKUP="7" 
### MySQL Setup ### 
MUSER="chaos" 
MPASS="password" 
MHOST="host" 
MYSQL="$(which mysql)" 
MYSQLDUMP="$(which mysqldump)" 
GZIP="$(which gzip)" 
### FTP server Setup ### 
##增量备份路径## 
FTPD="/backup/xxxx/incremental" 
FTPU="chaos" 
FTPP="password" 
FTPS="xxx.xxx.com" 
### Other stuff ### 
EMAILID="chaos@diablo.net" 
### Start Backup for file system ### 
[ ! -d $BACKUP ] && mkdir -p $BACKUP || : 
### See if we want to make a full backup ### 
if [ "$DAY" == "$FULLBACKUP" ]; then 
##完全备份路径## 
FTPD="/backup/xxxx/full" 
FILE="fs-full-$NOW.tar.gz" 
tar -zcvf $BACKUP/$FILE $DIRS 
else 
i=$(date +"%Hh%Mm%Ss") 
FILE="fs-i-$NOW-$i.tar.gz" 
tar -g $INCFILE -zcvf $BACKUP/$FILE $DIRS 
fi 
### Start MySQL Backup ### 
# Get all databases name 
##备份所有数据库 可自行调整 或备份指定数据库## 
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')" 
for db in $DBS 
do 
FILE=$BACKUP/mysql-$db.$NOW-$(date +"%T").gz 
$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE 
done 
### Dump backup using FTP ### 
#Start FTP backup using lftp 
##ubuntu上可以使用ncftp 自行调节## 
#ncftp -u"$FTPU" -p"$FTPP" $FTPS<<EOF 
lftp -u $FTPU,$FTPP $FTPS<<EOF 
mkdir $FTPD 
mkdir $FTPD/$NOW 
cd $FTPD/$NOW 
lcd $BACKUP 
mput * 
quit 
EOF 
### Find out if ftp backup failed or not ### 
if [ "$?" == "0" ]; then 
rm -f $BACKUP/* 
else 
T=/tmp/backup.fail 
echo "Date: $(date)">$T 
echo "Hostname: $(hostname)" >>$T 
echo "Backup failed" >>$T 
mail -s "BACKUP FAILED" "$EMAILID" <$T 
rm -f $T 
fi 

 改一下里面的一些路径和账号密码等信息就可以了

分享到:
评论

相关推荐

    Linux自动备份MySQL数据库并上传到FTP服务器上shell脚本

    ### Linux自动备份MySQL数据库并上传到FTP服务器上Shell脚本详解 #### 一、脚本概述 本脚本主要用于在Linux环境下实现MySQL数据库的自动备份,并将备份文件上传至指定的FTP服务器。对于需要定期备份MySQL数据库的...

    Linux自动备份MySQL数据库的实用方法

    对于使用Linux系统和MySQL数据库的环境,手动备份可能会出现疏漏,因此自动备份是明智的选择。本篇文章将详细讲解如何在Linux环境下实现MySQL数据库的自动备份。 首先,我们需要创建一个用于存放备份文件的目录。在...

    linux服务器定时自动备份mysql数据库的脚本sh

    利用 crontab -e 将此脚本加入即可,主要是用于linux服务器定时自动备份mysql数据库的脚本sh

    如何在linux下实现mysql数据库每天自动备份 txt

    ### 如何在Linux下实现MySQL数据库每天自动备份 在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来...

    Linux自动备份MySQL数据库脚本代码

    标题所提及的“Linux自动备份MySQL数据库脚本代码”是一种实用的方法,它允许系统管理员编写一个Shell脚本来定期执行MySQL数据库的备份操作。这个脚本利用了Linux的`cron`服务,这是一个强大的定时任务调度器,可以...

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

    本文档介绍了一个用于在Linux环境下自动备份MySQL数据库的Shell脚本。通过利用Cron定时任务功能,该脚本能够在特定时间自动运行,完成数据库的备份操作。以下是该脚本的主要组成部分及功能说明: ##### 2.1 变量...

    利用Crontab为Linux定时备份Mysql数据库

    在Linux环境中,为了确保数据的安全性和可靠性,定期备份MySQL数据库是一项至关重要的任务。Crontab是Linux中的一个调度工具,可以用来自动化周期性任务,包括数据库的备份。下面将详细介绍如何利用Crontab来实现...

    linux 下数据库备份脚本

    数据库备份 在计划任务里添加一条命令 执行这个脚本就OK了 例如 :00 21 * * * /www/mysqlbak/mysql.sh

    linux 自动备份数据库上传FTP //含有注释

    CentOS Linux自动备份MySQL数据库到远程FTP服务器并删除指定日期

    mysql数据库自动定时备份

    MySQL数据库的自动定时备份是数据库管理中的重要环节,它确保了数据的安全性和可恢复性,尤其是在发生意外情况如系统故障、硬件损坏或人为错误时。本教程将详细讲解如何设置MySQL数据库的自动定时备份,包括步骤、所...

    一个自动备份mysql数据库的脚本

    MySQL数据库的自动备份是系统维护中的重要环节,它确保了数据的安全性和可恢复性。这里我们探讨的是一个使用PHP编写的脚本,该脚本能够自动化执行MySQL数据库的备份任务,并且能自动清理15天前的旧备份,以节省存储...

    linux和windows上备份Mysql数据库java代码

    本篇我们将聚焦于如何在Linux和Windows操作系统上使用Java编写代码来备份MySQL数据库。 首先,我们需要了解备份MySQL数据库的基本原理。通常,备份过程包括以下步骤: 1. **连接到数据库**:使用JDBC(Java ...

    linux下自动备份数据库

    在Linux环境下,自动备份数据库是一项至关重要的任务,它确保了数据的安全性和业务的连续性。以下是一份详尽的步骤指南,教你如何在Linux系统中设置数据库的自动备份。 1. **选择数据库类型**:首先,你需要确定你...

    Linux平台的MySQL数据库操作与创建.pdf

    Linux平台的MySQL数据库操作与创建 Linux操作系统和MySQL数据库是当前最流行的系统平台和应用软件。Linux是功能强大、高效、开放式的操作系统,而MySQL是快速、功能强大的数据库。以下是Linux平台上的MySQL数据库...

    linux下mysql数据库

    根据给定的文件信息,以下是对“Linux下MySQL数据库”的相关知识点进行的详细解析: ### Linux下MySQL数据库 #### 常用命令操作 在Linux环境下操作MySQL数据库时,掌握一系列基本命令对于日常管理和维护至关重要...

    Linux下的mysql数据库编程

    在Linux环境下进行MySQL数据库编程是一项基础且至关重要的技能,尤其对于系统管理员和开发人员来说。以下将详细探讨这个主题,包括Linux操作系统、MySQL数据库的基本概念、安装与配置、数据库设计、SQL语言、以及...

    Mysql数据库自动备份脚本(linux、windows)

    本文将详细介绍如何在Linux和Windows环境下利用提供的`mysql_backup.bat`和`mysql_backup.sh`脚本来实现MySQL数据库的自动备份。 在Windows环境下,我们可以使用批处理脚本`mysql_backup.bat`来执行备份任务。这个...

Global site tag (gtag.js) - Google Analytics