当前位置:操作系统 > Unix/Linux >>

数据库备份脚本shell


数据库备份脚本shell
 
[plain]
#!/bin/bash    
#----------------------------  
#Target machine configuration  
#----------------------------  
#DBUser->Database user name  
#DBPasswd->Database password ,not null  
#DBName->Database name  
#SERVER->IP address  
#----------------------------  
DBUser=****  
DBPasswd=****  
DBName=*****  
SERVER=****  
    www.zzzyk.com  
#--------------------------------  
#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  
    www.zzzyk.com  
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  www.zzzyk.com  
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  
 
 
作者 陈建虹
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,