Sauvegarde et restauration BDD GLPI et OCS en commande DOS

Sauvegarde et restauration BDD GLPI et OCS en commande DOS - Stockage - Systèmes & Réseaux Pro

Marsh Posté le 14-10-2010 à 11:58:42    

Suite à quelques heures passées sur les forums de recherche, et à m'arracher les cheveux ;) , j'ai mis au point deux scripts :
- l'un permettant la sauvegarde des bases de données OCS et GLPI, ainsi que leur compression, tout cela automatisé via un .bat
- le deuxième permettant la restauration de ces bases en cas de crash.
Pour exécuter régulièrement la commande de sauvegarde, il n'y a plus qu'à le passer en tâche planifiée :D .  
 
NB : Les deux commandes sont à placer sur le bureau du serveur pour que ça fonctionne.
 
Il y a par contre quelques pré-requis :
- installer 7zip.exe (dispo sur Internet) => compression en .7z plus forte qu'en .zip ;)
- utilisation de 7za pour la compression (7za : module supplémentaire de 7zip, fonctionnant en mode commande et à télécharger ici: http://www.7-zip.org/download.html );
- création d'un répertoire de sauvegarde :
C:\xampp\mysql\backup\
- création d'un répertoire de sauvegarde pour la base GLPI :
C:\xampp\mysql\backup\glpi\
- création d'un répertoire de sauvegarde pour la base OCS :
C:\xampp\mysql\backup\ocs\
- création d'un sous-répertoire de sauvegarde pour la base GLPI :
C:\xampp\mysql\backup\glpi\backup\
- création d'un sous-répertoire de sauvegarde pour la base OCS :
C:\xampp\mysql\backup\ocs\backup\
- création d'un répertoire d'archivage des sauvegardes pour la base GLPI :
C:\xampp\mysql\backup\glpi\old_backup\
- création d'un répertoire d'archivage des sauvegardes pour la base OCS :
C:\xampp\mysql\backup\ocs\old_backup\  
 
Commande de sauvegarde :
 
@echo off
 
echo Sauvegarde de la base de donnees GLPI...
 
move "C:\xampp\mysql\backup\glpi\backup\backup_glpi_*" "C:\xampp\mysql\backup\glpi\old_backup\"
set filename=backup_GLPI_%date:~0,2%_%date:~3,2%_%date:~6,4%_%time:~0,2%h%time:~3,2%
"C:\xampp\mysql\bin\mysqldump.exe" -h localhost -u root --database parc_informatique_aero > "C:\xampp\mysql\backup\glpi\backup\%filename%.sql"
"C:\Program Files\7-Zip\7za\7za.exe" a %filename%.7z "C:\xampp\mysql\backup\glpi\backup\*"
del "C:\xampp\mysql\backup\glpi\backup\*.sql"
move "C:\Documents and Settings\Administrateur\Bureau\backup_GLPI_*" "C:\xampp\mysql\backup\glpi\backup\"
 
echo Sauvegarde de la base de donnees OCS...
 
move "C:\xampp\mysql\backup\ocs\backup\backup_ocs_*" "C:\xampp\mysql\backup\ocs\old_backup\"
set filename=backup_OCS_%date:~0,2%_%date:~3,2%_%date:~6,4%_%time:~0,2%h%time:~3,2%
"C:\xampp\mysql\bin\mysqldump.exe" -h localhost -u root --database ocsweb > "C:\xampp\mysql\backup\ocs\backup\%filename%.sql"
"C:\Program Files\7-Zip\7za\7za.exe" a %filename%.7z "C:\xampp\mysql\backup\ocs\backup\*"
del "C:\xampp\mysql\backup\ocs\backup\*.sql"
move "C:\Documents and Settings\Administrateur\Bureau\backup_OCS_*" "C:\xampp\mysql\backup\ocs\backup\"  
 
Commande de restauration (fonctionnelle pour l'instant à 50% - vous verrez pourquoi plus bas) :
 
@echo off
 
echo Decompression et restauration de la base de donnees GLPI...
 
"C:\Program Files\7-Zip\7za\7za.exe" x "C:\xampp\mysql\backup\glpi\backup\*" -oC:\xampp\mysql\backup\glpi\backup
rename "C:\xampp\mysql\backup\glpi\backup\*.sql" "backup_GLPI.sql"
"C:\xampp\mysql\bin\mysql.exe" -u root --database parc_informatique_aero < "C:\xampp\mysql\backup\glpi\backup\backup_GLPI.sql"
del "C:\xampp\mysql\backup\glpi\backup\backup_GLPI.sql"
 
echo Decompression et restauration de la base de donnees OCS...
 
"C:\Program Files\7-Zip\7za\7za.exe" x "C:\xampp\mysql\backup\ocs\backup\*" -oC:\xampp\mysql\backup\ocs\backup
rename "C:\xampp\mysql\backup\ocs\backup\*.sql" "backup_OCS.sql"
"C:\xampp\mysql\bin\mysql.exe" -u root --database ocsweb < "C:\xampp\mysql\backup\ocs\backup\backup_OCS.sql"
del "C:\xampp\mysql\backup\ocs\backup\backup_OCS.sql"
 
Souci rencontré :
 
La base parc_informatique_aero est recréée sans problème à l'emplacement voulu, et toutes les commandes liées à la restauration de cette base fonctionne sans problème.
 
Pour la base ocsweb, c'est autre chose : l'extraction fonctionne parfaitement, ainsi que le renommage de cette  base en "backup_ocs.sql". C'est lorsque l'on exécute la commande de restauration que le problème survient :
"error 1005 <HY000> at line 33: Can't create table 'ocsweb.accesslog' <errno: 121>"
 
En allant sur différents forums où ce problème a été rencontré, j'ai découvert que ça pourrait être issu d'un souci de clé étrangère. Je voudrais donc savoir s'il existe des solutions à mon problème?
 
Pour le reste de la commande, la ligne de suppression du fichier .sql extrait précédemment fonctionne bien.


Message édité par hardsession le 14-10-2010 à 12:00:31
Reply

Marsh Posté le 14-10-2010 à 11:58:42   

Reply

Marsh Posté le 08-02-2016 à 11:55:42    

Salut
J'ai une petite question, je sais que je détérre le truc...
on utilise ce script dans notre boite pour sauvegarder glpi, la base de données, les dossiers etc : http://wiki.glpi-project.org/doku. [...] rglpietocs
sauf que je n'arrive pas a réinstaller tout ca dans un nouveau serveur...
J'ai copié les fichiers, mis la sauvegarde sql dans la base de données, changé les id de connexion a la bdd... que faut il faire de plus ?


---------------
Topic Ventes || Topic Jeux Vidéos || Topic Téléphonie (Rien pour le moment)
Reply

Marsh Posté le 09-02-2016 à 11:43:58    

Détérrage de topal échoué...


---------------
Topic Ventes || Topic Jeux Vidéos || Topic Téléphonie (Rien pour le moment)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed