You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2010-10-12 12:25:45

hardsession
Member
Registered: 2010-10-12
Posts: 7

Sauvegarde et archivage automatiques bases OCS et GLPI

Suite à quelques heures passées sur les forums de recherche, et à m'arracher les cheveux wink , j'ai mis au point un script permettant la sauvegarde des bases de données OCS et GLPI, ainsi que leur compression, tout cela automatisé via un .bat. Pour l'exécuter régulièrement, il n'y a plus qu'à le passer en tâche planifiée big_smile .

Il y a par contre quelques pré-requis :
- 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\

Voici le script :
@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:~3,2%-%date:~0,2%-%date:~6,4%_%time:~0,2%h%time:~3,2%.sql
"C:\xampp\mysql\bin\mysqldump.exe" -h localhost -u root --database parc_informatique_aero > "C:\xampp\mysql\backup\glpi\backup\%filename%"
"C:\Program Files\7-Zip\7za\7za.exe" a %filename%.zip "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:~3,2%-%date:~0,2%-%date:~6,4%_%time:~0,2%h%time:~3,2%.sql
"C:\xampp\mysql\bin\mysqldump.exe" -h localhost -u root --database ocsweb > "C:\xampp\mysql\backup\ocs\backup\%filename%"
"C:\Program Files\7-Zip\7za\7za.exe" a %filename%.zip "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\"


Il fonctionne très bien chez moi wink .
Bon je pars créer le script de récupération de base de données et je le mettrais en ligne une fois créé smile

Last edited by hardsession (2010-10-12 12:26:22)

Offline

#2 2010-10-13 10:25:00

hardsession
Member
Registered: 2010-10-12
Posts: 7

Re: Sauvegarde et archivage automatiques bases OCS et GLPI

Une mise à jour du premier .bat est à faire. Voici la mise à jour pour la sauvegarde (notez qu'il faut quand même créer les dossiers comme dit sur mon premier article) :

@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\"

Les différences avec la commande de mon premier article est que l'archive créé est au format .7z (plus compressé que .zip), et que la date est au format français.

Last edited by hardsession (2010-10-14 11:48:55)

Offline

#3 2010-10-13 10:57:36

hardsession
Member
Registered: 2010-10-12
Posts: 7

Re: Sauvegarde et archivage automatiques bases OCS et GLPI

Voici la 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"

Nouveau 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.

Last edited by hardsession (2010-10-14 11:49:40)

Offline

#4 2010-10-15 16:46:48

hardsession
Member
Registered: 2010-10-12
Posts: 7

Re: Sauvegarde et archivage automatiques bases OCS et GLPI

Pas d'info? Personne?

Offline

#5 2011-01-05 15:20:41

prolainat
Member
Registered: 2010-02-02
Posts: 8

Re: Sauvegarde et archivage automatiques bases OCS et GLPI

Bonjour,

Merci pour ton post, cela m'a bien aidé pour ma sauvegarde.
Dans ma config, j'ai deux serveurs Windows 2003 R2 distincs pour OCS et GLPI.
Pour info, la syntaxe "C:\xampp\mysql\bin\mysqldump.exe" -h localhost -u root --database ocsweb  renvoi une erreur de connexion. Il faut enlever les espaces enre "-u" et "root" pour que cela fonctionne.
voila, c'était juste pour info  smile
bonne continuation!

Offline

#6 2011-01-19 15:26:25

prolainat
Member
Registered: 2010-02-02
Posts: 8

Re: Sauvegarde et archivage automatiques bases OCS et GLPI

C'est confirmé, il faut passer à la 0.78.2 pour corriger ce bug!
http://www.glpi-project.org/forum/viewt … p?id=22619

Offline

#7 2011-01-19 15:27:08

prolainat
Member
Registered: 2010-02-02
Posts: 8

Re: Sauvegarde et archivage automatiques bases OCS et GLPI

Cool, je viens de passer 2 h sur le problème avant de trouver ce post lol! merci pour l'info en tout cas!

Offline

#8 2011-01-21 16:53:25

tomolimo
Member
From: Grenoble, France
Registered: 2009-05-12
Posts: 517

Re: Sauvegarde et archivage automatiques bases OCS et GLPI

Bonjour,
Moi j'utilise un outil qui me permet de faire la totalité de la gestion des bases mySQL (OCS  + GLPI) : c'est "MYSQL Administrator". Cet outil s'appelle désormais "MySQL Workbench" (voir sur le site  http://www.mysql.com/downloads/workbench/) license GPL.
A+


GLPI 9.5.5 - PHP 7.4 / ProcessMaker 3.3.0-community - PHP 7.1 / Windows 2016 / IIS  / MySQL 5.7
Worldwide: >17k Computers, >17k Users (16 languages, >11 timezones), >610k tickets, >6700 entities, >7600 Groups, >20700 process cases
Raynet is ARaymond (https://www.araymond.com) IT service management

Offline

Board footer

Powered by FluxBB