linux 系统下mysql数据库 备份脚本

#!/bin/bash   
   
MyUSER="root"    
MyPASS="pass"       
MyHOST="localhost"          
  
# Linux bin paths, change this if it can not be autodetected via which command  
MYSQL="$(which mysql)"  
MYSQLDUMP="$(which mysqldump)"  
  
# Backup Dest directory, change this if you have someother location  
DEST="/data0/backup/mysql"  
  

  
# Get hostname  
HOST="$(hostname)"  
  
# Get data in dd-mm-yyyy format  
NOW="$(date +"%Y-%m-%d")"  
echo $NOW

# Main directory where backup will be stored  
MBD="$DEST/$NOW"  
  
# File to store current backup file  
FILE=""  
# Store list of databases   
DBS=""  
  
# DO NOT BACKUP these databases  
IGGY="mysql information_schema performance_schema"  
   
[ ! -d $MBD ] && mkdir -p $MBD || :  
  
echo $(date +"%Y-%m-%d %H:%M:%S")" >> Start backup..." >> /data0/backup/mysql/backup.log
  
# Get all database list first  
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"  
for db in $DBS  
do  
    skipdb=-1  
    if [ "$IGGY" != "" ];  
    then  
    for i in $IGGY  
    do  
        [ "$db" == "$i" ] && skipdb=1 || :  
    done  
    fi  
   
    if [ "$skipdb" == "-1" ] ; then  
    FILE="$MBD/$db.sql"  
    # do all inone job in pipe,  
    # connect to mysql using mysqldump for select mysql database  
    # and pipe it out to gz file in backup dir :)  
    $MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS  $db > $FILE  
    $MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS -ntd -R  $db >> $FILE  
    fi  
done  
scp -r $MBD IP:/home/fh_xxx_mysql_backup_new/
echo -e $(date +"%Y-%m-%d %H:%M:%S")" >> Backup completed!\n" >> /data0/backup/mysql/backup.log
 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值