mysql定时备份

 
 #!/bin/bash  
DBName=database
DBUser=root
DBPasswd="123"
BackupPath=/var/tmp/
LogFile=/var/log/dbbak.log
DATE=`/bin/date +%Y%m%d`
OLDDATE=`/bin/date +%Y%m%d --date='3 days ago'`
MYSQLDUMP=/usr/bin/mysqldump
echo "-------------------------------------------" >> $LogFile
echo $(date +"%Y-%m-%d %H:%M:%S") >> $LogFile
echo "-------------------------------------------" >> $LogFile
 
for TABL in tb1 tb2 tb3 tb4 tb5 tb6
do
        NewFile="$BackupPath"$DBName$TABL$DATE.tgz
        DumpFile="$BackupPath"$DBName$TABL$DATE
        echo "$DBName$TABL..."  >> $LogFile
        $MYSQLDUMP -u$DBUser -p$DBPasswd $DBName $TABL  > $DumpFile
        tar czvf $NewFile $DumpFile >> $LogFile 2>&1
        echo "[$NewFile]Backup Success!" >> $LogFile
        rm -rf $DumpFile 
done >> $LogFile 2>&1
#Delete Old File
for TABL in agent_0 agent_1 agent_2 agent_3 fast_0 fast_1 fast_2 fast_3
do  
  OldFile="$BackupPath"$DBName$TABL$OLDDATE.tgz
  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 
done
echo "-------------------------------------------" >>$LogFile
echo ""  >> $LogFile
 
#/etc/crontab01 0 * * * mysqlbackup.sh  
# 00:01  backup.sh  MySQL 
#  
#:
 
#!/bin/bash  
#Setting  
#  
#mysqldumpmysqldump,mysqldotcopy
#18tag
#root()mysql/root/dbxxxxx.tgz  
DBName=mysql
DBUser=root
DBPasswd=123456
BackupPath=/home/wang/www/backup/mysql/mysqlbackup
LogFile=/home/wang/www/backup/mysql/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
 
NewFile="$BackupPath"db$(date +%y%m%d).tgz  
DumpFile="$BackupPath"db$(date +%y%m%d)  
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz  
echo "-------------------------------------------" >> $LogFile  
echo $(date +"%y-%m-%d %H:%M:%S") >> $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  
else  
   case $BackupMethod in  
   mysqldump*)
      if [ -z $DBPasswd ]
      then  
         mysqldump -u $DBUser --opt $DBName > $DumpFile  
      else  
         mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile  
      fi  
      tar czvf $NewFile $DumpFile >> $LogFile 2>&1  
      echo "[$NewFile]Backup Success!" >> $LogFile  
      rm -rf $DumpFile  
      ;;  
   mysqlhotcopy*)  
      rm -rf $DumpFile  
      mkdir $DumpFile  
      if [ -z $DBPasswd ]  
      then  
         mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1  
      else  
         mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1  
      fi  
      tar czvf $NewFile $DumpFile >> $LogFile 2>&1  
      echo "[$NewFile]Backup Success!" >> $LogFile  
      rm -rf $DumpFile  
      ;;  
   *)  
      /etc/init.d/mysqld stop >/dev/null 2>&1  
      tar czvf $NewFile $DBPath >> $LogFile 2>&1  
      /etc/init.d/mysqld start >/dev/null 2>&1  
      echo "[$NewFile]Backup Success!" >> $LogFile  
      ;;  
   esac
fi
echo "-------------------------------------------"
echo
posted @ 2013-08-24 09:10  语辰灬  阅读(160)  评论(0)    收藏  举报