Exemples de scripts de sauvegarde

Exemple sous Linux :

serveur=localhost
base=gepidb
user=gepiuser
password=XXXXXXXX

destination=/home/sauvegarde

ladate=$(date +%Y%m%d%H%M%S)

mysqldump="mysqldump --skip-opt --add-drop-table --skip-disable-keys --quick -Q --create-options --set-charset --skip-comments" 

$mysqldump -h ${serveur} -u${user} -p${password} ${base} | gzip > $destination/${base}.${ladate}.sql.gz

Exemple sous Windows$ en BATCH

1. Créer un fichier "sauvegarde.bat" contenant :

rem Chemin d'accès aux binaires MySQL (en fonction de l'installation)
set mysql_bin=C:\Program Files\xampp\mysql\bin
rem Chemin d'accès au dossier de sauvegarde (en fonction de l'installation)
set dossier_sauvegarde=D:\sauvegardes

rem Voir secure/connect.inc.php
set dbHost=localhost
set dbDb=gepi-test
set dbUser=gepi
set dbPass=gepi

rem Pour chaque sauvegarde un nom de fichier différent
set jour=%date:~0,2%
set mois=%date:~3,2%
set annee=%date:~6,4%
set fichier_sauvegarde=%dossier_sauvegarde%\%dbDb%.%annee%.%mois%.%jour%.sql

rem Création de la sauvegarde
"%mysql_bin%\mysqldump.exe" --skip-opt --add-drop-table --skip-disable-keys --quick -Q --create-options --set-charset --skip-comments -h %dbHost% -u%dbUser% -p%dbPass% %dbDb%  > %fichier_sauvegarde%

2. Avec "Tâches planifiées" ou "Planificateur de tâches" programmer l'exécution régulière de sauvegarde.bat

Remarques :

  • Le fichier de sauvegarde étant de taille conséquente il est recommnadé de le compresser.
    On peut, par exemple, le faire avec 7-zip en ajoutant à la fin du fichier sauvegarde. bat :
    rem Chemin d'accès à 7-zip (en fonction de l'installation)
    set seven_zip=C:\Program Files\7-Zip
    rem Compression de la sauvegarde
    "%seven_zip%\7z.exe" a -tzip %fichier_sauvegarde%.zip  %fichier_sauvegarde% > NUL
    del  %fichier_sauvegarde% > NUL
    
  • Si on sauvegarde sur C: et que le disque lâche, on perd tout.
    Il faut donc sauvegarder sur un autre support (D:, clé USB, partagge réseau...).
  • On peut planifier l'exécution de "sauvegarde.bat" avec la commande "at" ou "schtasks" (suivant la version de Window$) :
    - en administrateur ouvrir une fenêtre DOS
    - lancer le service de planification de tâches (si il est déjà lancé un message le précisera)
    net start schedule
    

    - exécuter la commande
    at 23:00 /EVERY:L,Ma,Me,J,V,S,D cmd /c "d:\sauvegardes\sauvegarde.bat" 
    

    ou
    SCHTASKS /Create /SC DAILY /TN "Sauvegarde Gepi" /ST 23:00 /TR "\"d:\sauvegardes\sauvegarde.bat\"" /RU System
    

    pour que sauvegarde.bat (ici supposé se trouver dans le dossier d:\sauvegardes) soit lancé tous les jours à 23 h 00

Voir aussi

Sauvegarde automatique des données de GEPI

Retour