linux shell 备份mysql 数据库详解数据库

#!/bin/bash 
host="目标ip" 
id="用户名" 
pwd="密码" 
dbs=$(echo "show databases;" | mysql -u$id -p$pwd -h$host) 
nodeldb="Database information_schema performance_schema test mysql" 
backuppath="/root/mysqlbackup" 
day=15 
localIp=$(/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d addr:地址:) 
 
[ ! -d $backuppath ] &&mkdir -p $backuppath 
cd $backuppath 
 
backupname=mysql_$(date +%Y-%m-%d) 
for db in $dbs; 
do 
   isbool="0" 
   for nodb in $nodeldb; 
   do 
    if [ "$db" == "$nodb" ] 
    then 
        isbool="1"     
    fi 
    done 
   if [ "$isbool" == "1" ] 
   then 
      continue 
   fi 
 
   mysqldump -u$id -p$pwd -h$host $db >$backupname_$db.sql 
   echo "$db" 
   if [ "$?" == "0" ] 
   then 
       echo $(date +%Y-%m-%d)" $localIp $host $db  mysqldump sucess">>mysql.log 
   else 
      echo $(date +%Y-%m-%d)"  $localIp $host $db mysql dump failed">>mysql.log 
      echo $(date +%Y-%m-%d)" client $localIp backup $host $db is Failure" 
      exit 0 
   fi 
done 
tar -czf $backupname.tar.gz *.sql 
#上一句执行的返回值linux中0表示成功 
if [ "$?" == "0" ] 
then 
   echo $(date +%Y-%m-%d)" tar sucess">>mysql.log 
  
else 
   echo $(date +%Y-%m-%d)" tar failed">>mysql.log 
   echo $(date +%Y-%m-%d)" client $localIp backup and Compression service $host is Failure" 
   exit 0 
fi 
 
rm -f *.sql 
 
delname=mysql_$(date -d "$day day ago" +%Y-%m-%d).tar.gz 
rm -f $delname 
echo $(date +%Y-%m-%d)"  $localIp backup  $host is success" |mail [email protected]

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/6647.html

(0)
上一篇 2021年7月17日
下一篇 2021年7月17日

相关推荐

发表回复

登录后才能评论