zoukankan      html  css  js  c++  java
  • 数据库备份脚本shell

    #!/bin/bash  
    #----------------------------
    #Target machine configuration
    #----------------------------
    #DBUser->Database user name
    #DBPasswd->Database password ,not null
    #DBName->Database name
    #SERVER->IP address
    #----------------------------
    DBUser=****
    DBPasswd=****
    DBName=*****
    SERVER=****
    
    
    #--------------------------------
    #The local machine configuration
    #--------------------------------
    #LocalDBUser->Database user name
    #LocalDBPasswd->Database password,not null
    #LocalDBName->Database name
    #BackupPath->Backup path,end with '/'
    #LogFile->Log file
    #num->backup numbers
    #--------------------------------
    LocalDBUser=**
    LocalDBPasswd=***
    LocalDBName=****
    BackupPath=****
    LogFile=****
    #num=2 -----> Has not been completed
    #-------------------------------
    
    #-------------------------------
    #Other configuration
    #-------------------------------
    #IgnoreTables->ignore tables,like this:
    #IgnoreTables= '--ignore-table=DBName.TableName1 --ignore-table=DBName.TableName2 .....'
    #NeedTables->need backup tables,if you want to backup all tables,please let it empty
    #like this: NeedTables='table1 table2 table3'
    #-------------------------------
    IgnoreTables='****‘ 
    NeedTables=
    #begin
    
    
    NewFile="$BackupPath"dbBackup$(date +%y%m%d).sql  
    OldFile="$BackupPath"dbBackup$(date +%y%m%d --date='5 days ago').sql 
    
    echo "-------------------------------------------" >> $LogFile  
    echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile  
    echo $(date +%y%m%d --date='5 days ago') >>$LogFile
    echo "--------------------------" >> $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 
       echo "Begin ro recover the data...."  
       mysql -u$LocalDBUser -p$LocalDBPasswd --default-character-set='utf8' $LocalDBName <$NewFile
       echo "Data has been restored!" >>$LogFile
    else  
    	mysqldump -h$SERVER -u$DBUser -p$DBPasswd --default-character-set='utf8' --quick --single-transaction  $DBName  $NeedTables    $IgnoreTables  >$NewFile
        echo "[$NewFile]Backup Success!" >> $LogFile  
    fi
    echo "-------------------------------------------"
    echo
    
    
    

  • 相关阅读:
    安装MYSQL8.0提示api-ms-win-crt-runtime-l1-1-0.dll 丢失
    【.net】未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
    Windows 2008 R2 配置 DNS 实现二级域名
    如何修改windows Server 2012 远程桌面连接默认端口
    System x 服务器制作ServerGuide U盘安装Windows Server 2012 R2操作系统
    MYSQL安装后自带用户的作用
    mysql 查看数据库、表的基本命令
    嵌入式必知基础算法
    嵌入式学习网站集合
    C避坑指南
  • 原文地址:https://www.cnblogs.com/chenjianhong/p/4145053.html
Copyright © 2011-2022 走看看