mysql备份脚本(转)
博客专区 > jk409 的博客 > 博客详情
mysql备份脚本(转)
jk409 发表于3年前
mysql备份脚本(转)
  • 发表于 3年前
  • 阅读 73
  • 收藏 6
  • 点赞 0
  • 评论 0
摘要: mysql备份shell脚本
#!/bin/bash
#Setting start
DBName=mysqldb_name#数据库名称
DBUser=root#数据库账号
DBPasswd=passwd#密码
BackupPath=/data/backup/
LogFile=/data/backup/dbbackup.log
DBPath=/usr/local/mysql/bin/
BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupPath=/usr/local/mysql/backup/hotcopy/
BackupCommand=$DBPath$BackupMethod

#Setting End

NewFile="$BackupPath"db_"$DBName"_$(date +%y%m%d)."tar".gz
DumpFile="$BackupPath"db_"$DBName"_$(date +%y%m%d)
OldFile="$BackupPath"db_"$DBName"_$(date +%y%m%d --date='7 days ago')."tar".gz

echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "----------starting backup [$DBName]----------------" >> $LogFile
#Delete Old File

if [ -f $OldFile ]; then
   rm -f $OldFile >> $LogFile 2>&1
   echo "[$OldFile] Delete Old File Success!" >> $LogFile
else
   echo "[$OldFile] No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]; then
   echo "[$NewFile] The Backup File is exists,Can't Backup!" >> $LogFile
else
   case $BackupMethod in
        mysqldump)
            if [ -z $DBPasswd ]; then
               $BackupCommand -u $DBUser --opt --extended-insert --max_allowed_packet=2147000000
$DBName > $DumpFile
            else
               $BackupCommand -u $DBUser -p$DBPasswd --opt --extended-insert --max_allowed_packet
=2147000000 $DBName > $DumpFile
            fi
            if [ -f $DumpFile ]; then
               tar czvf $NewFile $DumpFile >> $LogFile 2>&1
               echo "[$NewFile]Backup Success!" >> $LogFile
               rm -rf $DumpFile
               chown daemon.daemon $NewFile
            else
               echo "Backup Error" >> $LogFile
            fi

        ;;
        mysqlhotcopy)
            rm -rf $DumpFile
            mkdir $DumpFile
            if [ -z $DBPasswd ]; then
               $BackupCommand -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
            else
               $BackupCommand -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
            fi
            if [ -f $DumpFile ]; then
               tar czvf $NewFile $DumpFile >> $LogFile 2>&1
               echo "[$NewFile]Backup Success!" >> $LogFile
               rm -rf $DumpFile
            else
               echo "Backup Error" >> $LogFile
            fi
        ;;
        *)
            echo "please select backup method" >> $LogFile
        ;;
    esac
fi

echo "----------ending backup [$DBName]----------------" >> $LogFile


标签: mysql 备份
共有 人打赏支持
粉丝 21
博文 152
码字总数 37204
×
jk409
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: