Guest User

Untitled

a guest
May 6th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #!/bin/bash
  2. ################################################
  3. #
  4. # Backup all MySQL databases in separate files and compress those.
  5. # The script will also create a folder with the current timestamp for each run
  6. # @author: Per Lasse Baasch
  7. # @Version: 2016-03-02
  8. # NOTES:
  9. # - MySQL and gzip must be installed on the system
  10. # - Requires write permission in the destination folder
  11. # - Excludes MySQL admin tables ('mysql',information_schema','performance_schema')
  12. #
  13. ################################################
  14. # MySQL User
  15. USER='root'
  16. # MySQL Password
  17. PASSWORD='ssss'
  18. # Backup Directory - WITH TAILING SLASH IF PATH OTHER THEN '.'!
  19. OUTPUT="/root/mysql_backup"
  20.  
  21. ##### Execute the backup
  22. TIMESTAMP=`date +%Y%m%d_%H%M%S`;
  23. mkdir $OUTPUT/$TIMESTAMP;
  24. OUTPUTDEST=$OUTPUT/$TIMESTAMP;
  25. echo "Starting MySQL Backup";
  26. echo `date`;
  27. databases=`mysql --user=$USER --password=$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
  28. for db in $databases; do
  29. if [[ "$db" != "information_schema" ]] && [[ "$db" != _* ]] && [[ "$db" != "mysql" ]] && [[ "$db" != "performance_schema" ]] ; then
  30. echo "Dumping database: $db"
  31. mysqldump --force --opt --user=$USER --password=$PASSWORD --databases $db > $OUTPUTDEST/dbbackup-$TIMESTAMP-$db.sql
  32. gzip $OUTPUTDEST/dbbackup-$TIMESTAMP-$db.sql
  33. fi
  34. done
  35. echo "Finished MySQL Backup";
  36. echo `date`
Add Comment
Please, Sign In to add comment