You are not logged in.
Pages: 1
bjr
j'ai voulu faire une sauvegarde de ma base glpi tous les jours sous linux via un script de sauvegarde , y a t il quelqu'un qui le sait ?
merci
Offline
bonjour
j utilise un script le voila....
#!/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="xxxxxxxx" #Votre password superutilisateur
EMAIL="y.delineau@heuliez-.-com" #Votre email
#Envois d'un mail (attention ne pas mettre à 1 si JOINDB=1
MAILSEND="1"
DBNAME1="yd_glpi" #Nom de vos bases de données
DBNAME2="ocsweb" #Une nouvelle ligne par base
DBNAME3="mysql" #
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 effectué"
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/procedure/sql/"
#Sauvegarde des bases de données
#Rajoutez une ligne si vous avez plus de bases de données à sauvegarder
echo "Backup SQL commencé 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 /raid2/GEPI-SV
echo "Base de données $DBNAME1 sauvegardée"
#=========================================================
mysqldump --opt -u root -p$DBPASS $DBNAME2 > $BACKUPDIR/$DATEFORMAT-$DBNAME2.sql
# copie sur un serveur distant par sécurité
cp $BACKUPDIR/$DATEFORMAT-$DBNAME2.sql /raid2/GEPI-SV
echo "Base de données $DBNAME2 sauvegardée"
#=========================================================
mysqldump --opt -u root -p$DBPASS $DBNAME3 > $BACKUPDIR/$DATEFORMAT-$DBNAME3.sql
# copie sur un serveur distant par sécurité
cp $BACKUPDIR/$DATEFORMAT-$DBNAME3.sql /raid2/GEPI-SV
echo "Base de données $DBNAME3 sauvegardée"
#***********************************************************************#
# 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 compressé effectué `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 effectué le `date`.\nLes Bases de données $DBNAME1, $DBNAME2, $DBNAME3 ont bien été sauvegardées.\nFichier $DATEFORMAT-MySQL.zip placé 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 effectué le `date`.\nLes Bases de données $DBNAME1, $DBNAME2, $DBNAME3 ont bien été sauvegardées.\nFichier $DATEFORMAT-MySQL.zip placé 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 terminé"
Rien n'est plus dangereux qu'une idée quand on a qu'une idée.....
Offline
Un peu de documentation :
http://dev.mysql.com/doc/refman/5.0/en/ … overy.html
++
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Un petit script si tu veux sauvegarder tout MySQL automatiquement sans avoir à déclarer une table en plus si besoin (ça peut toujours servir à quelqu'un)
Ca fait un fichier compressé par base, dans le nom du fichier, on a le nom de la base sauvegardée + la date du jour.
#!/bin/sh
NOW=$(date +"%m-%d-%Y") # mm-dd-yyyy format
FILE="fs-full-$NOW.tar.gz"
BAK="/home/sauvegarde/mysql/${NOW}"
### Server Setup ###
# Utilisateur MySQL avec droits d'administration #
MUSER="root"
# Mot de passe de l'utilisateur ci-dessus MySQL #
MPASS="motdepasseroot"
# IP du serveur MySQL #
MHOST="127.0.0.1"
# MySQL binaries #
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"
# Vérification si le répertoire existe #
if [ ! -d $BAK ]; then
mkdir -p $BAK
else
:
fi
# On liste les tables de MySQL #
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
# On commence à sauvegarder les tables une par une #
for db in $DBS
do
FILE=$BAK/mysql-$db.$NOW-$(date +"%T").gz
# Compression gzip de chaque sauvegarde de chaque base
$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done
Offline
Bonjour
Désolé d'en "remettre une couche", mais à la lecture de tous les posts, je constate une disparité dans l'utilisation des options de mysqldump voir sans options.
La doc d'OCS spécifie les paramètres à utiliser mais sauf erreur de ma part je n'ai pas trouvé ceux préconisé par l'équipe GLPI.
N'étant pas un expert de base de données, je sauvegarde tous les soirs le répertoire, fais un dump de la base avec les paramètres ocs et de temps en temps une sauvegarde depuis l'interface GLPI...
Profitant d'un changement physique de serveur, j'en profite pour vous solliciter.
Merci d'éclairer ma lanterne
Philippe
OCS 1.01 et GLPI 0.68-3
W2k3 R2 sp2 + Apache 2.2.8 + MySQL 5.0.51a + PHP 5.2.5 + perl 5.8.8
Offline
Moi je l'utilise tous les jours et ça fonctionne très très bien (sauvegarde + restauration)
Offline
moi aussi sa marche très bien et merci ddurieux
Offline
Pareil j'utilise mysqldump, du coup j'ai un tout petit script pour sauvegarder ma base, script qui se lance chaque jour(tâche planifiée):
"c:\Program Files\OCS Inventory NG\xampp\mysql\bin\mysqldump.exe" --user "nom_de_ton_user_ayant les droits-root" glpi > \\"nom_de_mon_serveur_ou_je_fais_la_sauvegarde"\sauvegarde_base_glpi\sauv2_glpi.sql
Voilà si ça peut aider quelqu'un
Offline
Merci beaucoup, script opérationnel et très clair !
GLPI v10.10
Offline
Pages: 1