You are not logged in.
Pages: 1
Bonjour,
Nous commençons à accorder de plus en plus d'importance à GLPI et donc nous avons mis en place une sauvegarde automatisé des bases de données MYSQL. Le script a bien fonctionné pendant deux mois, mais maintenant une erreur apparait lors de l'exécution du script. Les champs ***** sont bien évidament remplies dans mon script "final".
GLPI en version : 0.70.2
[pouvez vous me dire, avec quelle commande je peut obtenir le numéro de version de mysql ?]
Voici mon script :
#!/bin/bash
#***********************************************************************#
# BACKUP MySQL repris de celui de DanSteph #
# ------------------ #
# Vous pouvez lancer ce script en cron tous les jours, il est #
# prévu pour un backup par jour #
# Attention à la taille de vos bases de données pour l'envois #
# des emails . #
# #
#***********************************************************************#
#***********************************************************************#
# TODO #
# Gestion des erreurs si échec #
# Fichier permettant de mettre directement ses BDD #
#***********************************************************************#
#***********************************************************************#
# PARAMETRES A EDITER
#***********************************************************************#
USER="root" #Nom de superutilisateur MySQL
DBPASS="******" #Votre password superutilisateur
EMAIL="*******" #Votre email
#Envois d'un mail (attention ne pas mettre à 1 si JOINDB=1
MAILSEND="1"
DBNAME1="cacti" #Nom de vos bases de données
DBNAME2="glpi" #Une nouvelle ligne par base
DBNAME3="mysql" #
DBNAME4="nagios"
DBNAME5="ocsweb"
DBNAME6="information_schema"
DATEFORMAT=`date +%d-%m` #Format de la fate pour le backup
#Sujet de mail que vous recevrez si MAILSEND ou JOINDB = 1
SUJETMAIL="Backup $DATEFORMAT MySQL effectue"
COMPRESS="0" #Mettre "1" pour zipper le backup
JOINDB="0" #Joindre par mail le Backup
#Mettez à 0 si vous souhaitez supprimer la copie local (Déconseillé)
KEEPLOCAL="1"
#************************************************* **********************#
# EDITION AVANCEE #
#************************************************* **********************#
#Répertoire de backup (temporaire si KEEPLOCAL = 0
BACKUPDIR="/home/administrateur/BD"
#Sauvegarde des bases de données
#Rajoutez une ligne si vous avez plus de bases de données à sauvegarder
echo "Backup SQL commence le `date`"
#=========================================================
mysqldump --opt -u root -p$DBPASS $DBNAME1 > $BACKUPDIR/$DATEFORMAT-$DBNAME1.sql
# copie sur un serveur distant par sécurité
cp $BACKUPDIR/$DATEFORMAT-$DBNAME1.sql /mnt/windows
echo "Base de donnees $DBNAME1 sauvegardee"
#=========================================================
mysqldump --opt -u root -p$DBPASS $DBNAME2 > $BACKUPDIR/$DATEFORMAT-$DBNAME2.sql
# copie sur un serveur distant par sécurité
cp $BACKUPDIR/$DATEFORMAT-$DBNAME2.sql /mnt/windows
echo "Base de donnees $DBNAME2 sauvegardee"
#=========================================================
mysqldump --opt -u root -p$DBPASS $DBNAME3 > $BACKUPDIR/$DATEFORMAT-$DBNAME3.sql
# copie sur un serveur distant par sécurité
cp $BACKUPDIR/$DATEFORMAT-$DBNAME3.sql /mnt/windows
echo "Base de donnees $DBNAME3 sauvegardee"
#=========================================================
mysqldump --opt -u root -p$DBPASS $DBNAME4 > $BACKUPDIR/$DATEFORMAT-$DBNAME4.sql
# copie sur un serveur distant par sécurité
cp $BACKUPDIR/$DATEFORMAT-$DBNAME4.sql /mnt/windows
echo "Base de donnees $DBNAME4 sauvegardee"
#=========================================================
mysqldump --opt -u root -p$DBPASS $DBNAME5 > $BACKUPDIR/$DATEFORMAT-$DBNAME5.sql
# copie sur un serveur distant par sécurité
cp $BACKUPDIR/$DATEFORMAT-$DBNAME5.sql /mnt/windows
echo "Base de donnees $DBNAME5 sauvegardee"
#=========================================================
mysqldump --opt -u root -p$DBPASS $DBNAME6 > $BACKUPDIR/$DATEFORMAT-$DBNAME6.sql
# copie sur un serveur distant par sécurité
cp $BACKUPDIR/$DATEFORMAT-$DBNAME6.sql /mnt/windows
echo "Base de donnees $DBNAME6 sauvegardee"
#***********************************************************************#
# FIN DES PARAMETRES A EDITER #
#***********************************************************************#
#Compression en Zip si COMPRESS est à 1 (Option obligatoire pour l'envois de la copie par mail.
if [ "$COMPRESS" = "1" ]
then
zip -rT9 $DATEFORMAT-MySQL.zip $BACKUPDIR
rm $BACKUPDIR*
mv $DATEFORMAT-MySQL.zip $BACKUPDIR
echo "Backup SQL compresse effectue `date`"
fi
#Envois d'un email récapitulatif (Désactivé la variable MAILSEND si vous avez mis JOINDB à 1.
if [ "$MAILSEND" = "1" ]
then
echo -e "Backup MySQL effectue le `date`.\nLes Bases de donnees $DBNAME1, $DBNAME2, $DBNAME3, $DBNAME4, $DBNAME5, $DBNAME6 ont bien ete sauvegardees.\nFichier $DATEFORMAT-MySQL.zip place dans $BACKUPDIR" | mail -s "$SUJETMAIL" $EMAIL
fi
#Envois de votre sauvegarde par email (seulement si vous avez activé la compression par ZIP.
if [ "$JOINDB" = "1" ]
then
cd $BACKUPDIR
(echo -e "Backup MySQL effectue le `date`.\nLes Bases de donnees $DBNAME1, $DBNAME2, $DBNAME3, $DBNAME4, $DBNAME5, $DBNAME6 ont bien ete sauvegardees.\nFichier $DATEFORMAT-MySQL.zip place dans $BACKUPDIR"; uuencode $DATEFORMAT-MySQL.zip $DATEFORMAT-MySQL.zip) | mail -s "$SUJETMAIL" $EMAIL
fi
#Suppression de votre sauvegarde local si la variable KEEPLOCAL est = 0
if [ "$KEEPLOCAL" = "0" ]
then
rm $BACKUPDIR*
fi
echo "Backup termine"
Voici le message d'erreur :
./savebd.sh
Backup SQL commence le mercredi 24 septembre 2008, 11:32:09 (UTC+0200)
mysqldump: Got errno 28 on write
Base de donnees cacti sauvegardee
mysqldump: Got errno 28 on write
Base de donnees glpi sauvegardee
mysqldump: Got errno 28 on write
Base de donnees mysql sauvegardee
mysqldump: Got errno 28 on write
Base de donnees nagios sauvegardee
mysqldump: Got errno 28 on write
Base de donnees ocsweb sauvegardee
mysqldump: Got errno 28 on write
Base de donnees information_schema sauvegardee
Backup termine
GLPI v10.10
Offline
1/ est-ce qu'il reste de la place sur le disque sur lequel tu sauvegarde
2/ vérifie que tu as bien les droits sur les bases avec l'utilisateur MySQL que tu as
3/ Les fichier sont-il créés? sont-ils vides?
4/ je réfléchi au petit 4
Offline
alors...dans l'ordre :
1) Pour la place, pas de soucis (j'avais déjà songé a ce probléme) [ ]
2) Pour les droits avec l'utilisateur MYSQL étant donnée que la sauvegarde a fonctionnée durant 2 mois, je doute que le probléme vienne d'ici ! (le répertoire partagée sur ce serveur, est accessible a tout le monde (lecture + ecriture)]
3) Les fichiers sont bien crées mais sont vide (0 ko)
4) ... ... ... j'essaye de réléchir a une réponse correcte pour le petit 4
Last edited by Niav (2008-09-24 13:58:44)
GLPI v10.10
Offline
pour le 2) vérifie quand même, on ne sait jamais
essaye de lancer le mysqldump à la main en attivant le mode verbeux (verbose)
Offline
J'ai trouvé la solution a mon probléme (merci ddurieux)... le probléme est bien un probléme de place...mais pas sur le partage windows, ou sont copier les sauvegarde sql... le probléme de place viens du serveur Ubuntu. Le script éfféctue une sauvegarde local, puis copie la sauvegarde local sur le serveur windows. Dans mon cas, les sauvegarde local s'etaient accumulé dans un dossier, et prenaient environs 10 GO ce qui saturais le systéme. J'ai compris lorsque j'ai éditer le script pour rajouter le mode "verbose" (option -v de mysqldump), car je n'ai pas pu enregistrer le script par manque de place... le script faisant 2ko...
Par contre, j'ai maintenant, un autre soucis, car le script doit supprimer les copie local a la fin de sont exécution, mais celui-ci ne le fait pas. Pourquoi ? et comment résoudre ce deuxiéme probléme ?
#Suppression de votre sauvegarde local si la variable KEEPLOCAL est = 0
if [ "$KEEPLOCAL" = "0" ]
then
rm $BACKUPDIR*
fi
echo "Backup termine"
GLPI v10.10
Offline
mets :
rm $BACKUPDIR/*
Offline
j'ai apporté la modification, mais rien ne change, les fichiers sont toujours dans le repertoire de copie local. Si tu as une autre idée, je suis preneur !
then
rm $BACKUPDIR/*
fi
echo "Backup termine"
GLPI v10.10
Offline
cela parait normal car je n'avais pas mis le KEEPLOCAL = 0 ... (voir ci dessous)
#Mettez à 0 si vous souhaitez supprimer la copie local (Déconseillé)
KEEPLOCAL="1"
Je fait le test et je tiens au courant
Last edited by Niav (2008-09-24 15:53:56)
GLPI v10.10
Offline
ok le script fonctionne a la perfection , les données sont sauvegardées sur le serveur , et la copie local est supprimé... tout cela est parfait et permettra le bon devellopement de GLPI ds notre systéme d'info !
Merci de ton aide !
GLPI v10.10
Offline
Pages: 1