Advertisement
Guest User

Untitled

a guest
Feb 8th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Configuration de base: datestamp e.g. YYYYMMDD
  4.  
  5. DATE=$(date +"%Y%m%d")
  6.  
  7. # Dossier où sauvegarder les backups (créez le d'abord!)
  8.  
  9. BACKUP_DIR="/backup/mysql"
  10.  
  11. # Identifiants MySQL
  12.  
  13. MYSQL_USER="root"
  14. MYSQL_PASSWORD="YOURSECUREPASSWORD"
  15.  
  16. # Commandes MySQL (aucune raison de modifier ceci)
  17.  
  18. MYSQL=/usr/bin/mysql
  19. MYSQLDUMP=/usr/bin/mysqldump
  20.  
  21. # Bases de données MySQL à ignorer
  22.  
  23. SKIPDATABASES="Database|information_schema|performance_schema|mysql"
  24.  
  25. # Nombre de jours à garder les dossiers (seront effacés après X jours)
  26.  
  27. RETENTION=14
  28.  
  29. # ---- NE RIEN MODIFIER SOUS CETTE LIGNE ------------------------------------------
  30. #
  31. # Create a new directory into backup directory location for this date
  32.  
  33. mkdir -p $BACKUP_DIR/$DATE
  34.  
  35. # Retrieve a list of all databases
  36.  
  37. databases=`$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "($SKIPDATABASES)"`
  38.  
  39. # Dumb the databases in seperate names and gzip the .sql file
  40.  
  41. for db in $databases; do
  42. echo $db
  43. $MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --skip-lock-tables --events --databases $db | gzip > "$BACKUP_DIR/$DATE/$db.sql.gz"
  44. done
  45.  
  46. # Remove files older than X days
  47.  
  48. find $BACKUP_DIR/* -mtime +$RETENTION -delete
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement