db_bk.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. #!/bin/bash
  2. # Author: yeho <lj2007331 AT gmail.com>
  3. # Blog: http://blog.linuxeye.com
  4. . ../options.conf
  5. DBname=$1
  6. LogFile=$backup_dir/db.log
  7. DumpFile=$backup_dir/DB_${DBname}_$(date +%Y%m%d_%H).sql
  8. NewFile=$backup_dir/DB_${DBname}_$(date +%Y%m%d_%H).tgz
  9. OldFile=$backup_dir/DB_${DBname}_$(date +%Y%m%d --date="$expired_days days ago")*.tgz
  10. [ ! -e "$backup_dir" ] && mkdir -p $backup_dir
  11. DB_tmp=`$db_install_dir/bin/mysql -uroot -p$dbrootpwd -e "show databases\G" | grep $DBname`
  12. [ -z "$DB_tmp" ] && { echo "[$DBname] not exist" >> $LogFile ; exit 1 ; }
  13. if [ -e "$OldFile" ];then
  14. /bin/rm -f $OldFile
  15. echo "[$OldFile] Delete Old File Success" >> $LogFile
  16. else
  17. echo "[$OldFile] Delete Old Backup File" >> $LogFile
  18. fi
  19. if [ -e "$NewFile" ];then
  20. echo "[$NewFile] The Backup File is exists,Can't Backup" >> $LogFile
  21. else
  22. $db_install_dir/bin/mysqldump -uroot -p$dbrootpwd --opt --databases $DBname > $DumpFile
  23. cd $backup_dir
  24. tar czf $NewFile ${DumpFile##*/} >> $LogFile 2>&1
  25. echo "[$NewFile] Backup success ">> $LogFile
  26. /bin/rm -f $DumpFile
  27. fi