Nous travaillons depuis quelque temps sur la mise en place d'un serveur GLPI car nous en avons besoin à des fins professionnels. Tout se passe bien, jusqu'à ce qu'on arrive à un problème assez important : Comment mettre en place des backup automatiques ?
En effet, nous sommes dans l'obligation d'effectuer des backup quotidiennes de nos données ainsi que du noyau de notre serveur, avec suppression des backup de plus d'un mois.
Pour la sauvegarde du noyau, nous avons déjà une solution donc là n'est pas le soucis. Par contre pour la sauvegarde de nos données c'est autre chose. La sauvegarde s'effectue à distance (depuis notre serveur) vers un NAS. La sauvegarde doit être effectuer sans utiliser de système extérieur à notre réseau et sans quelconque intermédiaire. Nous souhaitons une solution de sauvegarde d'un point A à un point B directement.
Pour cela nous avons trouvé et modulé un script bash de sauvegarde à distance que nous ferons fonctionner avec un planificateur de tâche, l'idée est plutôt bonne mais elle ne fonctionne pas et c'est ça le problème.
Voici le script :
#!/bin/bash
# Configuration de base: datestamp e.g. YYYYMMDD
DATE=$(date +"%Y%m%d")
# Dossier où sauvegarder les backups (créez le d'abord!)
BACKUP_DIR="smb://192.168.1.216/sos_glpi/SAVE_GLPI_DATA/"
# Identifiants MySQL
MYSQL_USER="root"
MYSQL_PASSWORD="@MDP"
# Commandes MySQL (aucune raison de modifier ceci)
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump
# Bases de données MySQL à ignorer
SKIPDATABASES="Database|information_schema|performance_schema|mysql"
# Nombre de jours à garder les dossiers (seront effacés après X jours)
RETENTION=30
# ---- NE RIEN MODIFIER SOUS CETTE LIGNE ------------------------------------------
#
# Create a new directory into backup directory location for this date
mkdir -p $BACKUP_DIR/$DATE
# Retrieve a list of all databases
databases=`$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "($SKIPDATABASES)"`
# Dumb the databases in seperate names and gzip the .sql file
for db in $databases; do
echo $db
$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --skip-lock-tables --events --databases $db | gzip > "$BACKUP_DIR/$DATE/$db.sql.gz"
done
# Remove files older than X days
find $BACKUP_DIR/* -mtime +$RETENTION -delete
Le problème est que le script que vous voyez ci-dessus crée les dossiers : smb > 192.168.1.216 > sos_glpi > GLPI_SAVE_DATA en local (sur la machine où on exécute le script) au lieu d'aller mettre la sauvegarde à ce chemin dans notre NAS comme on le souhaite.
Nous savons qu'il est possible de si prendre en 2 étapes, sauvegarder localement et ensuite l'envoyer sur notre NAS mais cette solution ne nous convient pas.
Nous restons à l'écoute de conseils/potentielles solutions dans les commentaires.
bizarre comme chemin pour un répertoire de sauvegarde local.
toi, tu veux envoyer les sauvegardes vers un NAS, mais ce NAS propose-t-il un service samba ?
alors, tu peux effectuer un montage du répertoire distant sur la machine locale, et indiquer dans le script le chemin de ce répertoire.
ou, tu peux envoyer ces sauvegardes avec smbclient
ou alors, le NAS dispose d'un service ssh, et tu peux monter le répertoire distant avec sshfs
voire, si rsync est disponible sur le NAS envoyer les sauvegardes avec
...
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Backup automatique GLPI avec script bash
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique