linux mysql 备份脚本

#!/bin/bash
#################################################################
#Script for bak db for sql file every day
#Written by toptreegzh (toptreegzh@163.com)
#at 2010-09-03
#################################################################
db=数据库
dbUser=用户名
dbPassword=密码
basePath=备份路径

currDate=`date +%Y%m%d_%H`
currFile=${basePath}${db}_${currDate}.sql

# gets the size of last backuped file.
lastSize=`ls -ltr ${basePath}${db}*.sql.tz|tail -1|awk '{print $5}'`

currDate=`date +%Y%m%d_%H`
currFile=${basePath}/${db}_${currDate}.sql

# dump data from mysql
mysqldump -u${dbUser} -p${dbPassword} --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob --single-transaction ${db} > ${currFile}

# backup by tar
tar cfz ${currFile}.tz ${currFile} 1>/dev/null 2>/dev/null
rm -rf ${currFile}

currSize=`ls -l ${currFile}.tz|awk '{print $5}'`

# dispatches backuped file to others
if [ -z ${lastSize} ] || [ ${lastSize} -ne ${currSize} ]
then
        echo ""
        #scp 可以备份到其他主机
else
    echo "" > ${currFile}.tz
    mv ${currFile}.tz ${currFile}.tz.same
fi

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值