Bonjour à toutes, et à tous,
Je tente de faire un backup de ma base de donnée GLPI sous MySQL à l'aide de crontab.
Voici la tâche crontab qui est programmée:
54 15 * * * root /bin/sh /sbin/backups-glpi.sh >> /var/log/backup-glpi.log 2>&1
Le but de mon script est de récupérer le contenu du répertoire www, où sont stockés les fichiers de GLPI ainsi que la BDD GLPI. Quand j'execute le script manuellement, il fonctionne parfaitement, mais dès que je tente une tâche planifiée il fonctionne partiellement. Je m'explique : il parvient bien à sauvegarder le contenu du répertoire de GLPI mais la base de donnée n'est pas sauvegardée.
Voici mon script de backup :
#!/bin/bash
# Dossier de réception du backup
backup_dir=/mnt/backup
# Dossier content les fichiers GLPI
glpi_dir=/var/www/html/glpi
# Vérifier un montage
mount_verify=yes
mount_dir=/mnt/backup
echo "Système de backup de GLPI et OCS Inventory NG"
echo "Script développé par Benjamin Mercier - teclib' <www.teclib.com>"
echo "-----------------------"
# Création d'un dossier temporaire, et vidage de celui-ci
echo "Création du dossier temporaire"
mkdir -p /tmp/backup-ocs-glpi
rm -Rfv /tmp/backup-ocs-glpi/* &> /dev/null
# MySQLDUMP de la base GLPI
echo "Dump de la base GLPI"
mysqldump --defaults-extra-file=/etc/mysql/mysql-backup-script.cnf --databases glpi | gzip > /tmp/backup-ocs-glpi/glpi_database.sql.gz
# Copie du GLPI en RSYNC
# Il est possible de le copier depuis un serveur distant
echo "Copie du repertoire glpi"
rsync -az $glpi_dir /tmp/backup-ocs-glpi
#echo "Changement du nom du repertoire GLPI"
#vidage du répertoire de backup
echo "Vidage du répertoire distant"
rm -Rfv $backup_dir/backup-ocs-glpi &> /dev/null
# Copie de l'ensemble des fichiers sur le backup
echo "Transfert sur le serveur de backup"
rsync -az /tmp/backup-ocs-glpi $backup_dir
# Suppression du répertoire
echo "Suppression du répertoire temporaire"
rm -Rfv /tmp/backup-ocs-glpi &> /dev/null
echo "Backup terminé"
Pourriez-vous m'aider, svp ?
Je vous remercie d'avance 🙂