J'ai un petit script de sauvegarde lancé par cron qui est de la forme suivante :
#!/bin/sh
{
echo sauvegarde 1
rsync ...
echo sauvegarde 2
rsync ...
} VV~/var/log/sauve.log 2VV~/var/log/sauve2.log
Comment faire pour que lorsqu'il y à un problème (quand on écrit dans sauce2.log), le script m'avertisse dans mon environnement graphique ?
Merci d'avance
Rem, j'ai utilisé le symbole V à la place du symbole "supérieur" que je n'arrive pas à obtenir dans linuxfr
# xdialog ?
Posté par Gyro Gearllose . Évalué à 3.
[^] # Re: xdialog ?
Posté par Jeanuel (site web personnel) . Évalué à 1.
[^] # Re: xdialog ?
Posté par Gyro Gearllose . Évalué à 3.
Enfin, ce ne sont pas les solutions qui manquent !
[^] # Re: xdialog ?
Posté par Jeanuel (site web personnel) . Évalué à 2.
C'est surement une bonne idée. Par contre, je sais pas faire. Un petit coup de main ?
[^] # Re: xdialog ?
Posté par Gyro Gearllose . Évalué à 5.
Ben oui, je veux bien te donner un coup de main....
Alors, si tu fais un
$ ls -l --full-time /var/log/sauve2.log | cut -f 7 -d ' '
Tu récupères la date de modification du
fichier /var/log/sauve2.log
Si tu fais :
$ date +%Y-%m-%d
Tu récupères la date du jour, formatée exactement comme la date récupérée lors du ls.
Il ne reste plus qu'à comparer les deux :
if [ $(ls -l --full-time /var/log/sauve2.log | cut -f 7 -d ' ') != $(date +%Y-%m-%d) ]
then
echo "Les dates diffèrent"
else
echo "Les dates sont identiques"
fi
Evidement, tu remplaceras les echo par ce dont tu as besoin pour afficher ta boîte de message.
Bon courage pour la suite.
[^] # Re: xdialog ?
Posté par Jeanuel (site web personnel) . Évalué à 3.
[^] # Re: xdialog ?
Posté par Bastien Mourgues . Évalué à 3.
if [ $( stat -c '%Y' /var/log/sauve2.log ) -ne $(date '+%s' ) ]
then
echo "les dates diffèrent"
else
echo "les dates sont identiques"
fi
[^] # Re: xdialog ?
Posté par Jeanuel (site web personnel) . Évalué à 1.
En fait, la solution indiquée plus haut ne marche pas parce que la redirection de la sortie 2 accède dans tous les cas au fichier et change la date au début de la sauvegarde. Le test est donc toujours positif ! J'ai décidé de tester la taille du fichier au début et à la fin de la sauvegarde :
#!/bin/sh
# test de la présence du répertoire de sauvegarde
if [ ! -d '/mnt/serveur/sauvegardes/' ]
then
kdialog --title "Script de sauvegarde" --error "Répertoire de sauvegarde inaccessible"
exit 1
fi
TailleLog2=$(ls -l /var/log/sauve2.log | cut -f 6 -d ' ')
{
rsync ...
} >> /var/log/sauve.log 2>>/var/log/sauve2.log
#test de problème
if [ $TailleLog2 == $(ls -l /var/log/sauve2.log | cut -f 6 -d ' ') ]
then
kdialog --title "Script de sauvegarde" --error "Sauvegarde ok"
else
kdialog --title "Script de sauvegarde" --error "Problème lors de la sauvegarde. Consultez sauve2.log"
fi
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.