Projet

Général

Profil

Exemples de scripts de sauvegarde » Historique » Version 8

Marc Leygnac, 07/03/2014 09:19

1 1 Stéphane Boireau
h1. Exemples de scripts de sauvegarde
2
3 2 Marc Leygnac
h2. Exemple sous Linux :
4
5 1 Stéphane Boireau
<pre>
6
serveur=localhost
7
base=gepidb
8
user=gepiuser
9
password=XXXXXXXX
10
11
destination=/home/sauvegarde
12
13
ladate=$(date +%Y%m%d%H%M%S)
14
15
mysqldump="mysqldump --skip-opt --add-drop-table --skip-disable-keys --quick -Q --create-options --set-charset --skip-comments"
16
17
$mysqldump -h ${serveur} -u${user} -p${password} ${base} | gzip > $destination/${base}.${ladate}.sql.gz
18
</pre>
19
20 8 Marc Leygnac
h2. Exemple sous Windows$ en BATCH
21 1 Stéphane Boireau
22 7 Marc Leygnac
1. Créer un fichier "sauvegarde.bat" contenant :
23 1 Stéphane Boireau
<pre>
24 3 Marc Leygnac
rem Chemin d'accès aux binaires MySQL (en fonction de l'installation)
25
set mysql_bin=C:\Program Files\xampp\mysql\bin
26
rem Chemin d'accès au dossier de sauvegarde (en fonction de l'installation)
27 1 Stéphane Boireau
set dossier_sauvegarde=D:\sauvegardes
28 2 Marc Leygnac
29 3 Marc Leygnac
rem Voir secure/connect.inc.php
30
set dbHost=localhost
31
set dbDb=gepi-test
32
set dbUser=gepi
33
set dbPass=gepi
34 1 Stéphane Boireau
35 3 Marc Leygnac
rem Pour chaque sauvegarde un nom de fichier différent
36 2 Marc Leygnac
set jour=%date:~0,2%
37 1 Stéphane Boireau
set mois=%date:~3,2%
38
set annee=%date:~6,4%
39 4 Stéphane Boireau
set fichier_sauvegarde=%dossier_sauvegarde%\%dbDb%.%annee%.%mois%.%jour%.sql
40 1 Stéphane Boireau
41 3 Marc Leygnac
rem Création de la sauvegarde
42 4 Stéphane Boireau
"%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%
43 3 Marc Leygnac
</pre>
44 1 Stéphane Boireau
45 8 Marc Leygnac
2. Avec "Tâches planifiées" ou "Planificateur de tâches" programmer l'exécution régulière de sauvegarde.bat
46 7 Marc Leygnac
47
Remarques :
48
49
* Le fichier de sauvegarde étant de taille conséquente il est recommnadé de le compresser.
50 3 Marc Leygnac
On peut, par exemple, le faire avec 7-zip en ajoutant à la fin du fichier sauvegarde. bat :
51
<pre>
52
rem Chemin d'accès à 7-zip (en fonction de l'installation)
53 4 Stéphane Boireau
set seven_zip=C:\Program Files\7-Zip
54 1 Stéphane Boireau
rem Compression de la sauvegarde
55
"%seven_zip%\7z.exe" a -tzip %fichier_sauvegarde%.zip  %fichier_sauvegarde% > NUL
56
del  %fichier_sauvegarde% > NUL
57
</pre>
58 7 Marc Leygnac
* Si on sauvegarde sur C: et que le disque lâche, on perd tout.
59 1 Stéphane Boireau
Il faut donc sauvegarder sur un autre support (D:, clé USB, partagge réseau...).
60
61 8 Marc Leygnac
* On peut planifier l'exécution de "sauvegarde.bat" avec la commande "at" ou "schtasks" (suivant la version de Window$) :
62
- en administrateur ouvrir une fenêtre DOS
63 7 Marc Leygnac
- lancer le service de planification de tâches (si il est déjà lancé un message le précisera)
64
<pre>
65
net start schedule
66
</pre>
67
- exécuter la commande
68 1 Stéphane Boireau
<pre>
69
at 23:00 /EVERY:L,Ma,Me,J,V,S,D cmd /c "d:\sauvegardes\sauvegarde.bat"
70
</pre>
71 8 Marc Leygnac
ou
72
<pre>
73
SCHTASKS /Create /SC DAILY /TN "Sauvegarde Gepi" /ST 23:00 /TR "\"d:\sauvegardes\sauvegarde.bat\"" /RU System
74
</pre>
75 7 Marc Leygnac
pour que sauvegarde.bat (ici supposé se trouver dans le dossier d:\sauvegardes) soit lancé tous les jours à 23 h 00
76 8 Marc Leygnac
77 7 Marc Leygnac
78
h2. Voir aussi
79
80
[[Backup_auto|Sauvegarde automatique des données de GEPI]]
81 1 Stéphane Boireau
82
[[GuideAdministrateur|Retour]]