mysql完整备份和增量备份脚本.doc

上传人:新** 文档编号:563006428 上传时间:2023-02-24 格式:DOC 页数:4 大小:34.50KB
返回 下载 相关 举报
mysql完整备份和增量备份脚本.doc_第1页
第1页 / 共4页
mysql完整备份和增量备份脚本.doc_第2页
第2页 / 共4页
mysql完整备份和增量备份脚本.doc_第3页
第3页 / 共4页
mysql完整备份和增量备份脚本.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《mysql完整备份和增量备份脚本.doc》由会员分享,可在线阅读,更多相关《mysql完整备份和增量备份脚本.doc(4页珍藏版)》请在金锄头文库上搜索。

1、#!/bin/bash#set -x#此脚本的主要用途是备份mysql服务器上的数据库。并且自动通过FTP上传到服务器。备份完后都会发送一封邮件。#变量说明 pass mysql账户口令,name mysql账户名称,DATA_DIR mysql存储路径,DATE 时间,MYSQL_BIN 是mysql命令路径, WAN_DIR 完全备份目录,ZENG_BACK 增量备份的目录。Host FTP服务器的IP,Username FTP账户口令,Passwd FTP账户名称, db_name 备份的数据库名, error_log 当天备份错误日志, backup_log 保存当天的备份日志,db

2、保存要备份的数据库名文件echo -e 此脚本的主要用途是备份mysql服务器上的数据库.并且自动通过FTP上传到服务器。Host=pass=chenqibinname=rootDATE=date +%Y%m%dWAN_DIR=/wan_dirZENG_BACK=/backupDATA_DIR=/usr/local/mysql/dataMYSQL_BIN=/usr/local/mysql/binerror_log=$WAN_DIR/backup_error_$DATE.logbackup_log=$ZENG_DIR/backup_$DATE.loggzdumpfile=$DATE.sql.ta

3、r.gzdb=/var/log/backup_$DATE.txtcd $DATA_DIRls -l $DATA_DIR | grep d | awk -F print $9 $dbfunction wan() #检测完全备份目录是否存在,如果不存在就创建。if -d $WAN_DIR then echo 完全备份目录存在 $backup_logelse echo 完全备份目录不存在,开始创建. /bin/mkdir $WAN_DIRfieMailFile=$WAN_DIR/mail.logemail= echo $eMailFile echo - $eMailFile echo date +%

4、y-%m-%d %H:%M:%S $eMailFile echo - $eMailFilecd $WAN_DIR for dbname in $(cat $db) do mysqldump -flush-logs -u$name -p$pass -skip-lock-tables -quick $dbname $dbname.sql if $? = 0 then find $ZENG_BACK -name *.log -mtime +32 -exec rm ; /dev/null 2&1 cd $WAN_DIR tar -zcvf $dbname.$gzdumpfile $dbname.sql

5、 echo Backup MySQL succeed $eMailFile mail -s MySQL Backup $email $eMailFile mail -s MySQL Backup fail $email $backup_log #将备份好的上传到FTP服务器cd $WAN_DIRfor db_back in $(cat $db)do ftp -nv $Host $eMailFileecho - $eMailFileecho date +%y-%m-%d %H:%M:%S $eMailFileecho - $eMailFileTIME=$(date -d 10 day ago +

6、%Y-%m-%d %H:%M:%S) StartTime=$(date -d 1 day ago +%Y-%m-%d %H:%M:%S)Start=-start-datetime#删除10天前的二进制文件mysql -u$name -p$pass -e purge master logs before $TIME & echo delete 10 days before log | tee -a $eMailFilefilename=cat $DATA_DIR/chlinux-bin.index | awk -F / print $2cd /zeng_dirfor i in $filename

7、do echo $StartTime start backup binlog $eMailFile for db_name in $(cat $db) do mysqlbinlog -u$name -pchenqibin -d $db_name $Start=$StartTime $DATA_DIR/$i $db_name.$DATE.sql if $? = 0 then cd /zeng_dir tar -zcvf $db_name.$gzdumpfile $db_name.$DATE.sql echo Backup MySQL succeed $eMailFile mail -s MySQ

8、L Backup $email $eMailFile mail -s MySQL Backup fail $email /dev/null 2&1cd /zeng_dir#删除上次备份的完整备份的文件find $WAN_DIR -name *.tar.gz -mtime +7 -exec rm -rf ;#将备份好的上传到FTP服务器for db_back in $(cat $db)do ftp -nv $Host EOF user wolf chenqibin put $db_back.$gzdumpfile quitEOFdonebackfile=ls -l /wan_dir | wc -lif $backfile != 0 then echo 完整备份已经存在,现在进行增量备份 sleep 10 zengelse echo 还没进行完整备份,现在进行完整备份 sleep 30 wanfi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号