加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

linux shell 备份mysql 数据库

发布时间:2020-12-15 07:12:35 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/bin/bashhost="目标ip"id="用户名"pwd="密码"dbs=$(echo "show databases;" | mysql -u$id -p$pwd -h$host)nodeldb="Database information_schema

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#!/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]

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读