每天备份MYSQL数据库同时删除7天前的备份

前端之家收集整理的这篇文章主要介绍了每天备份MYSQL数据库同时删除7天前的备份前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

#!/bin/bash
##########################################################################################
# NOTE:
# The readme text is written by chinese.
# Please see this scripts in your chinese System.
# The test system is Ubuntu12.04
# 
#
# This Scripts all rights reserved deserved by MickeyZZC
# Copyright © 2013
#
#2013-08-16:add remote backup
#2013-08-19:add ftp backup
#
##########################################################################################
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

clear;

username=""
passwd=""
MysqLhost=""
backuppath=""

#备份数据库
function MysqLbackup() {
#把生产线上的数据库赋值给数组变量
MysqLdata=`MysqL -h$MysqLhost -u$username -p$passwd -e"show databases"|grep -vE "MysqL|information_schema|performance_schema|Database"`
for i in ${MysqLdata[@]}
do
#先清理空间后在备份会比较稳当一点
	find $backuppath -name $i\_*.zip -type f -mtime +7 -exec rm {} \;
#备份后压缩保存
	MysqLdump --opt -h$MysqLhost -u$username -p$passwd $i |gzip > $backuppath/$i\_$(date +%Y%m%d%H%M).zip
done
}
function dataftp() {
ftphost=''
ftpusr=''
ftpd=''

ftp -v -n $ftphost<<!
user $ftpusr $ftpd
binary
passive
lcd $backuppath
cd /
mput *$(date +%Y%m%d)*
close
bye
!
}
#调用MysqLbackup
MysqLbackup
#调用FTP上传备份
dataftp

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

猜你在找的Shell相关文章