一个mysql备份脚本

本文介绍了一段用于MySQL数据库备份的Shell脚本,包括数据库导出、压缩存档及远程同步过程。通过此脚本可以实现数据库的定时备份,并确保备份文件的安全存储。

checkname=mysqlbak
now=`date +"%Y%m%d"`
StatFile="./slave_status.$now"
SERVERTIME=$DAY%20$TIME
dbuser=mysqlbak
dbpwd=t119000
SERVERNAME=
HOSTNAME=`hostname`
IPADDR=`awk -F '=' '/IPADDR/ {print $2}' /etc/sysconfig/network-scripts/ifcfg-eth0`
tip=10.0.0.19
echo $IPADDR
bakpath=/bak/mysql/$IPADDR.$now
tarpath=/bak/mysql
mysqldumppath=/data/app/mysql/bin
mountpath=/site/mysqlbak/mysql_bak/
mkdir -p $bakpath
echo "show databases;" | /data/app/mysql/bin/mysql -u$dbuser -p$dbpwd > $StatFile
linesum=$(wc -l $StatFile)
linesum1=$linesum-1
echo $linesum
linecount=`echo $linesum | awk '{print $1}' `
echo $linecount
for ((i=2;i<=$linecount;i++));do
dbname=`sed -n ''$i' p' $StatFile`
echo $dbname
$mysqldumppath/mysqldump -u$dbuser -p$dbpwd  $dbname > $bakpath/$dbname.sql
done
tar czvf  $tarpath/$IPADDR.$now.tar.gz  $bakpath
ssize=`du -sh $tarpath/$IPADDR.$now.tar.gz`
ssize1=`echo $ssize | awk '{print $1}'`
ssizemd5=`md5sum $tarpath/$IPADDR.$now.tar.gz | awk '{print $1}'`   验证备份文件MD5
echo $ssizemd5
mount -t cifs -o usernamed=bak,password=bob1206 //10.0.0.19/mysql $mountpath
cp $tarpath/$IPADDR.$now.tar.gz $mountpath
echo $state
tsize=`du -sh  $mountpath/$IPADDR.$now.tar.gz`
tsize1=`echo $tsize | awk '{print $1}'`
tsizemd5=`md5sum $mountpath/$IPADDR.$now.tar.gz | awk '{print $1}'` 验证传到备份服务器上的MD5
if [ $ssizemd5 = $tsizemd5 ] ; then
state=0
note=$IPADDR.$checkname"sucess_bak_db_Amount"$linesum1
else
statr=1
note=transmission unsuccess
fi
echo $tsizemd5
echo $checkname
echo $IPADDR
echo $ssize1.ssize1
echo $tsize1
echo
umount $mountpath
rm -rf $tarpath/$IPADDR.$now.tar.gz
rm -rf $tarpath/$IPADDR.$now

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值