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服务器。对于需要定期备份MySQL数据库的...
对于使用Linux系统和MySQL数据库的环境,手动备份可能会出现疏漏,因此自动备份是明智的选择。本篇文章将详细讲解如何在Linux环境下实现MySQL数据库的自动备份。 首先,我们需要创建一个用于存放备份文件的目录。在...
利用 crontab -e 将此脚本加入即可,主要是用于linux服务器定时自动备份mysql数据库的脚本sh
### 如何在Linux下实现MySQL数据库每天自动备份 在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来...
标题所提及的“Linux自动备份MySQL数据库脚本代码”是一种实用的方法,它允许系统管理员编写一个Shell脚本来定期执行MySQL数据库的备份操作。这个脚本利用了Linux的`cron`服务,这是一个强大的定时任务调度器,可以...
本文档介绍了一个用于在Linux环境下自动备份MySQL数据库的Shell脚本。通过利用Cron定时任务功能,该脚本能够在特定时间自动运行,完成数据库的备份操作。以下是该脚本的主要组成部分及功能说明: ##### 2.1 变量...
在Linux环境中,为了确保数据的安全性和可靠性,定期备份MySQL数据库是一项至关重要的任务。Crontab是Linux中的一个调度工具,可以用来自动化周期性任务,包括数据库的备份。下面将详细介绍如何利用Crontab来实现...
数据库备份 在计划任务里添加一条命令 执行这个脚本就OK了 例如 :00 21 * * * /www/mysqlbak/mysql.sh
CentOS Linux自动备份MySQL数据库到远程FTP服务器并删除指定日期
MySQL数据库的自动定时备份是数据库管理中的重要环节,它确保了数据的安全性和可恢复性,尤其是在发生意外情况如系统故障、硬件损坏或人为错误时。本教程将详细讲解如何设置MySQL数据库的自动定时备份,包括步骤、所...
MySQL数据库的自动备份是系统维护中的重要环节,它确保了数据的安全性和可恢复性。这里我们探讨的是一个使用PHP编写的脚本,该脚本能够自动化执行MySQL数据库的备份任务,并且能自动清理15天前的旧备份,以节省存储...
本篇我们将聚焦于如何在Linux和Windows操作系统上使用Java编写代码来备份MySQL数据库。 首先,我们需要了解备份MySQL数据库的基本原理。通常,备份过程包括以下步骤: 1. **连接到数据库**:使用JDBC(Java ...
在Linux环境下,自动备份数据库是一项至关重要的任务,它确保了数据的安全性和业务的连续性。以下是一份详尽的步骤指南,教你如何在Linux系统中设置数据库的自动备份。 1. **选择数据库类型**:首先,你需要确定你...
Linux平台的MySQL数据库操作与创建 Linux操作系统和MySQL数据库是当前最流行的系统平台和应用软件。Linux是功能强大、高效、开放式的操作系统,而MySQL是快速、功能强大的数据库。以下是Linux平台上的MySQL数据库...
根据给定的文件信息,以下是对“Linux下MySQL数据库”的相关知识点进行的详细解析: ### Linux下MySQL数据库 #### 常用命令操作 在Linux环境下操作MySQL数据库时,掌握一系列基本命令对于日常管理和维护至关重要...
在Linux环境下进行MySQL数据库编程是一项基础且至关重要的技能,尤其对于系统管理员和开发人员来说。以下将详细探讨这个主题,包括Linux操作系统、MySQL数据库的基本概念、安装与配置、数据库设计、SQL语言、以及...
本文将详细介绍如何在Linux和Windows环境下利用提供的`mysql_backup.bat`和`mysql_backup.sh`脚本来实现MySQL数据库的自动备份。 在Windows环境下,我们可以使用批处理脚本`mysql_backup.bat`来执行备份任务。这个...