[Résolu] Script de sauvegarde / restauration MYSQL

Bonjour,

J’aimerais que vous me portiez assistance pour création d’un petit script de sauvegarde de tout le contenue de ma base MYSQL et un script de restauration.

J’ai trouvé des scripts sur internet et sur des forums, mais n’étant pas impliqué dans le sujet, je n’est pas eut raiponce à mes questions.

Mon objectif serait que ma base de données soit sauvegardée sur un fichier dans un chemin réseau bien précis.

Actuellement je fais mes sauvegardes à la main (tous les soirs quand je suis disponible,) ce qui demande une présence humaine et je voudrais automatiser tout cella.

Pouvez vous m’aider s’il vous plait ?

Une tâche cron avec ta commande ne suffit pas ?

Concernant la restauration c’est tout de même moins évident de faire un script léger qui permettra d’être passe partout.

Oui, justement je voulais faire un script qui tourne avec un crontab

J’ai trouver ce script :

#!/bin/sh
# A PARAMETRER : le repertoire de base de mon appli web
# l'utilisateur / mot de passe MySQL ainsi que le nom de la base
# le chemin de sauvegarde
APPLI_HOME="/var/www/glpi"
USER=root
PASS=chaduhiti
BASE_SQL=glpi
BACKUP=/root/sauvegarde
# on dumpe la base MySQL dans un fichier temporaire
mysqldump --opt -u $USER -p$PASS $BASE_SQL > /tmp/dumpbase.sql
# on archive l'application ainsi que le fichier de dump MySQL dans le 
# repertoire de sauvegarde
tar -cPhzf $BACKUP/glpi-`date +%d%m%Y`-`date +%H%M`.tar.gz $APPLI_HOME /tmp/dumpbase.sql
# on supprime le dump MySQL
rm -f /tmp/dumpbase.sql

ma question est comment faire l’opération inverse ci il fonctionne ??
le problème de ce script, c’est qu’il sauvegarde une base en particulier, moi je voudrais tout prendre

J’ai adapté mon script, il fonctionne correctement, mais comment faire l’opération inverse ?

De base : mysql --opt -u $USER -p$PASS < /dir/file.sql

En spécifiant une DB : mysql --opt -u $USER -p$PASS $BASE_SQL < /dir/file.sql


Tu trouveras mon propre script …

Avec gunzip ça donne ça :

Effectuer un dump gunzipé :

mysqldump --databases testbases -u testuser -ptestpass | gzip > /votre/fichier/ici.sql.gz

Effectuer la restauration du dump gunzipé :

gunzip < /votre/fichier/ici.sql.gz | mysql -u testuser -ptestpass

Après libre à toi de mettre en place un script et une rotation.

Donc ci j’inverse le > en < sa fait la fonction inverse ?

> #!/bin/sh
> USER=root
> PASS=chaduhiti
> BASE_SQL=glpi
> BACKUP=/root/sauvegarde

> # on dumpe la base MySQL dans un fichier temporaire
> mysqldump --opt -u $USER -p$PASS $BASE_SQL < /tmp/dumpbase.sql

> #

Merci, vous êtes géniale