mysql全库备份脚本_MySQL自动备份整库脚本

该脚本支持自动备份,自动上传到FTP服务器,备份失败自动发送报警邮件

#!/bin/sh

#Create by JIANGLEI.YU  ON 20160421

#使用测脚本需要先安装mutt邮件发送工具。

#使用使用自动化安装。详细请参考 http://yujianglei.blog.51cto.com/7215578/1765938

#Define MySQL  Environments

Hostname='192.168.0.141'

Port='3306'

Username='root'

Password='123456'

Mysqldump=$(which mysqldump)

Gzip=$(which gzip)

Destinaion_dir='/home/bak/database/data'

Timestamp=$(date +%Y%m%d%H%M%S)

Database='virtual'

Alarm_User="15011254881@139.com"

File_Name="$Timestamp-$Database.sql.gz"

#File_Name="20160421110453-virtualsdk.sql.gz"

#Define Ftp  Environments

Ftp_Host='192.168.0.136'

Ftp_Port='21'

Ftp_User='yujianglei'

Ftp_Pass='yujianglei'

RPM=$(which rpm)

function check_result(){

if [ $? != 0 ];then

echo  "Backup Database Failed"     | mutt -s "$Database Backup Database Failed"      ${Alarm_User}

exit 1

else

echo  "Backup Database Successful" | mutt -s "$Database Backup Database Successful"  ${Alarm_User}

fi

}

function bakcup(){

[ ! -d ${Destinaion_dir} ] && mkdir -p ${Destinaion_dir}

Cmd="$Mysqldump -h$Hostname -p$Port -u$Username -p$Password"

Parameter="--flush-privileges --opt -R -E  --triggers --single-transaction -F"

$Cmd $Parameter $Database  | gzip >${Destinaion_dir}/${File_Name}

check_result $?

}

function upload_ftp(){

$RPM -q  ftp

[ $? != 0 ] && yum install ftp -y

ftp -n ${Ftp_Host} ${Ftp_Port} <

user ${Ftp_User} $Ftp_Pass

lcd ${Destinaion_dir}

cd   database

put ${File_Name}

quit

END

check_result $?

exit 0

}

bakcup

upload_ftp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值