Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/04/2020, à 09:46

Johndoe2020

[RESOLU]crontab - backup

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 smile

Dernière modification par Johndoe2020 (Le 20/04/2020, à 17:37)

Hors ligne

#2 Le 17/04/2020, à 09:53

bruno

Re : [RESOLU]crontab - backup

Bonjour,

Pour la niéme fois une tâche cron est exécutée dans un shell non connecté (non-login) et non interactif. Les variables d'environnement habituelles et en particulier PATH ne sont donc pas connues.
Il faut donc soit mettre les emplacements complets des exécutables dans le script appelé par cron, soit définir PATH dans le fichier crontab :

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

#3 Le 20/04/2020, à 13:06

Johndoe2020

Re : [RESOLU]crontab - backup

Bonjour,

Tout d'abord merci pour votre réponse. J'ai résolu mon erreur en indiquant le PATH dans le contrab.

C'est la première fois que je poste un message sur le forum d'entraide ubuntu, j'ai recherché sur Google et le forum ubuntu mais sans succès, j'aurais apprécié que vous soyez plus courtois dans votre réponse.

Bien à vous,

Dernière modification par Johndoe2020 (Le 20/04/2020, à 13:07)

Hors ligne

#4 Le 20/04/2020, à 13:49

bruno

Re : [RESOLU]crontab - backup

Je ne vois pas en quoi j'aurais manqué de courtoisie. Ma réponse était factuelle, complète et explicative. Il ne faut interpréter mes propos.
Puisque le problème est résolu, je t'invite à modifier ton premier message pour mettre  [Résolu] devant le titre.