Advertisement
Guest User

Untitled

a guest
May 15th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # Backs up all MySQL databases individually.
  4. #
  5. # Move to usr/local/sbin, make executable and run as root:
  6. # sudo mv ~/backup-databases.sh /usr/local/sbin/backup-databases
  7. # sudo chmod +x /usr/local/sbin/backup-databases
  8. # sudo backup-databases
  9. # Make sure target directory is properly referenced.
  10. #
  11. # Backup All Databases Individually
  12. # ------------------------------------------------------------------------------
  13. USER="XXXXXXX"
  14. PASSWORD="XXXXXX"
  15. HOST="localhost"
  16. DB_BACKUP_PATH="/media/backupdrive/ubuntu.14.04/databases"
  17.  
  18. # Get list of databases, but not 'Database' or 'information_schema'
  19. # ------------------------------------------------------------------------------
  20. DATABASES=$(mysql --user=$USER --password=$PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema)")
  21.  
  22. DUMPFAIL=false
  23.  
  24. # Remove previous dumped databases
  25. # ------------------------------------------------------------------------------
  26. rm $DB_BACKUP_PATH/*
  27.  
  28. # Set up log
  29. # ------------------------------------------------------------------------------
  30. echo "Database backup report. ${TIMESTAMP}" > $DB_BACKUP_PATH/DB_LOG
  31. echo "=======================================" >> $DB_BACKUP_PATH/DB_LOG
  32.  
  33. # Create dumps for each database
  34. # ------------------------------------------------------------------------------
  35. for DB in $DATABASES
  36. do
  37.  
  38. mysqldump -v --user=$USER --password=$PASSWORD --single-transaction --log-error=$DB_BACKUP_PATH/$DB.log --host=$HOST $DB > $DB_BACKUP_PATH/$DB.sql
  39.  
  40. # Reportage - log result of mysqldump
  41. # ----------------------------------------------------------------------------
  42. if [[ $? -eq 0 ]]
  43.  
  44. then
  45.  
  46. echo -e "Mysqldump created ${DB}.sql\n" >> $DB_BACKUP_PATH/DB_LOG
  47.  
  48. else
  49.  
  50. echo "Mysqldump encountered a problem backing up ${DB}. Look in ${DB_BACKUP_PATH}/${DB}.log for information.\n" >> $DB_BACKUP_PATH/DB_LOG
  51. $DUMPFAIL=true
  52.  
  53. fi
  54.  
  55. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement