Tags: mysql,lamp,bash

Sort by: Date / Title /

  1. 1 year ago by gameplayer and saved by 1 other
    1. #!/bin/bash
    2.  
    3. #paramètres de configuration du script
    4. #completer ici par le nom d'un utilisateur autorisé à dumper toutes vos bases :
    5. strMysqlUser=""
    6. #completer ici par le mot de passe de cet utilisateur :
    7. strPassword=""
    8. # completer ici par le chemin vers le repertoire de travail où va se trouver le dump
    9. # il est possible de préfixer le répertoire  :
    10. # "/rep/de/travail/prefix_" donnera alors /rep/de/travail/prefix_20070505
    11. repTravail=""
    12.  
    13.  
    14. #mémorisation de la date du jour et de la date d'il y a 7 jours
    15. dateActuelle=$(date +%Y%m%d)
    16. datePassee=$(date --date '7 days ago' +%Y%m%d)
    17.  
    18. #Suppression de la sauvegarde d'il y a 7 jours
    19. echo "["$(date +%F\ %X)"] Suppression des dump du "$datePassee
    20. repTravailPasse=$repTravail$datePassee
    21. rm -R $repTravailPasse
    22.  
    23. # début du dump
    24. echo "["$(date +%F\ %X)"] Dump du : "$dateActuelle
    25. repTravailActuel=$repTravail$dateActuelle
    26. mkdir $repTravailActuel
    27. # récupération de la liste des bdd
    28. listDatabase=$(mysql --user=$strMysqlUser --password=$strPassword --exec="SHOW DATABASES;" --silent --column-names=FALSE )
    29.  
    30. #dump de chaque base dans un fichier
    31. for lineDatabase in $listDatabase
    32. do
    33.     echo "["$(date +%F\ %X)"] Debut du dump de la base "$lineDatabase" vers "$repTravailActuel
    34.     mysqldump --user="$strMysqlUser" --password="$strPassword" "$lineDatabase" | gzip > "$repTravailActuel"/"$lineDatabase".sql.gz
    35.     echo "["$(date +%F\ %X)"] Dump compressé dans "$repTravailActuel"/"$lineDatabase".sql.gz"
    36. done
    37. echo "["$(date +%F\ %X)"] Fin de la sauvegarde"
    38. exit 0

First / Previous / Next / Last / Page 1 of 1 (1 posteets)