mysql多数据库备份脚本

如有问题请大家提出来!谢谢

  
  
  
  
  1. #!/bin/bash 
  2. ##################################### 
  3. #Mysql backup  
  4. #Copyright (c) 2012 <[email protected]
  5. #Author: Xavier 
  6. #Version: 2012/02/20 11:30 v0.1.2 
  7. ##################################### 
  8. DBHOST=localhost #Database server addres 
  9. DBUSER=root     #Database user name 
  10. PASSWD=aaaaa    #Database password 
  11. DATABASES="information_schema|Database" #Exclude do not need to backup the database 
  12. DATABASE
  13. SQL="show databases;"   #SQL statements 
  14. GETDATA=`mysql -h $DBHOST -u $DBUSER --password=$PASSWD $DATABASE -e "$SQL" |egrep -v "$DATABASES"` #Get database name 
  15. DATE=`date +%Y-%m-%d`   #Get current date 
  16. AGO_DATE=`date -d '15 day ago' "+%Y-%m-%d"` #Get 15 days before date 
  17. BACKUP_PATH="/mysqlbackup/$DATE/"  #Backup path 
  18. AGO_BACKUP_PATH="/mysqlbackup/$AGO_DATE/" #15 days before backup path 
  19.  
  20. #Cycle to backup mysql database 
  21. for GETDATA in $GETDATA 
  22. do 
  23.     if [ ! -f  "$BACKUP_PATH" ];then 
  24.         mkdir -p  $BACKUP_PATH 
  25.     else 
  26.         echo error >> /dev/null 
  27.     fi 
  28.     /usr/bin/mysqldump -p$PASSWD --opt $GETDATA > $BACKUP_PATH$GETDATA.sql 2>/dev/null 
  29. done 
  30.  
  31.     /bin/tar czf $BACKUP_PATH$DATE.tar.gz $BACKUP_PATH*.sql 
  32.  
  33. #Detected 15 days before the backup file exists 
  34. #Exist, then delete 
  35. #Does not exist exit 
  36. if [ -d  "$AGO_BACKUP_PATH" ];then 
  37.     /bin/rm -fr $AGO_BACKUP_PATH 
  38.     /bin/rm -rf $AGO_BACKUP_PATH$AGO_DATE.tar.gz 
  39. fi 

 

你可能感兴趣的:(数据库,mysql,职场,数据库备份,休闲)