rsnapshot n'exécute pas son script preexec

Le
geo cherchetout
Bonjour,

Je tente d'instaurer des sauvegardes de mes fichiers locaux à l'aide de
rsnapshot, le répertoire d'accueil étant dans une partition d'un disque
externe USB. Quand cette partition est montée, tout se passe bien mais,
justement, elle ne l'est pas toujours et j'ai pensé la faire monter par un
script que rsnapshot serait censé exécuter avant tout autre action. Dans
/etc/rsnapshot.conf j'ai donc placé à l'endroit prévu cette ligne :
cmd_preexec /root/scripts/presnap.sh (avec une tabulation et sans espace) et
j'ai écrit ce script rudimentaire :
# cat /root/scripts/presnap.sh
#!/bin/bash
mount /dev/sdf1 /media/sauvegardes
sleep 3
et j'ai vérifié que l'exécution de ce script a bien pour effet de monter la
partition :
# mount | grep sdf1
/dev/sdf1 on /media/sauvegardes type ext3 (rw)
Maintenant, je la démonte et je lance rsnapshot :
# rsnapshot -v daily
31924: priorité précédente 0, nouvelle priorité 19
-
rsnapshot encountered an error! The program was invoked with these options:
/usr/bin/rsnapshot -v daily
-
ERROR: /media/sauvegardes/sauv does not exist.
ERROR: rsnapshot refuses to create snapshot_root when no_create_root is enabled

Quelle est mon erreur ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
geo cherchetout
Le #24318821
Le 12/03/2012 17:26, j'ai écrit :

j'ai écrit ce script rudimentaire :
# cat /root/scripts/presnap.sh
#!/bin/bash
mount /dev/sdf1 /media/sauvegardes
sleep 3



J'ai même précisé sans plus d'effet : /bin/mount et il est clair que mon
script n'est l'objet d'aucune tentative d'exécution. Le message d'erreur
survient immédiatement, sans attendre les 3 secondes.
Rsnapshot est un script Perl, guère plus lisible pour moi que de l'hébreu...
gerbier
Le #24319451
Le 12/03/2012 17:26, geo cherchetout a écrit :
Bonjour,

Je tente d'instaurer des sauvegardes de mes fichiers locaux à l'aide de rsnapshot, le répertoire
d'accueil étant dans une partition d'un disque externe USB. Quand cette partition est montée, tout
se passe bien mais, justement, elle ne l'est pas toujours et j'ai pensé la faire monter par un
script que rsnapshot serait censé exécuter avant tout autre action. Dans /etc/rsnapshot.conf j'ai
donc placé à l'endroit prévu cette ligne :



j'ai eu le même problème : en fait rsnapshot vérifie si les répertoires déclarés dans les
instructions "backup" existent AVANT d’exécuter le "cmd_preexec".

dans ton cas, je suppose que tu as une ligne de configuration :

backup /media/sauvegardes/sauv

une solution est de faire un créer ce répertoire sur le disque dur :

umount /media/sauvegardes
mkdir /media/sauvegardes/sauv
/usr/bin/rsnapshot -v daily
geo cherchetout
Le #24319911
Le 13/03/2012 08:55, *gerbier* a écrit fort à propos :

j'ai eu le même problème : en fait rsnapshot vérifie si les répertoires déclarés dans les
instructions "backup" existent AVANT d’exécuter le "cmd_preexec".



Merci pour l'explication.

dans ton cas, je suppose que tu as une ligne de configuration :

backup /media/sauvegardes/sauv

une solution est de faire un créer ce répertoire sur le disque dur :

umount /media/sauvegardes
mkdir /media/sauvegardes/sauv



N'est-ce pas dangereux ? Je crains que mes sauvegardes n'atterrissent dans
ce répertoire quand le disque externe n'est pas branché ? Et oui, un essai
le confirme. :-( Je ferais donc mieux de prévoir un script de montage qui
s'exécute *avant* rsnapshot.

Une autre idée ?
gerbier
Le #24320441
Le 13/03/2012 11:30, geo cherchetout a écrit :
Le 13/03/2012 08:55, *gerbier* a écrit fort à propos :

j'ai eu le même problème : en fait rsnapshot vérifie si les répertoires déclarés dans les
instructions "backup" existent AVANT d’exécuter le "cmd_preexec".



Merci pour l'explication.

dans ton cas, je suppose que tu as une ligne de configuration :

backup /media/sauvegardes/sauv

une solution est de faire un créer ce répertoire sur le disque dur :

umount /media/sauvegardes
mkdir /media/sauvegardes/sauv



N'est-ce pas dangereux ? Je crains que mes sauvegardes n'atterrissent dans ce répertoire quand le
disque externe n'est pas branché ? Et oui, un essai le confirme. :-( Je ferais donc mieux de prévoir
un script de montage qui s'exécute *avant* rsnapshot.

Une autre idée ?



on peut tester si le disque est monté avec un code comme ci-dessous

tst=$( mount | grep '/media/sauvegardes' )
if [ -n "$tst" ]
then
echo "media monte"
else
echo "media pas monte"
fi

d’après le code de rsnapshot, une erreur dans le script de preexec provoque un affichage mais
n'interromps pas l'enchainement.
il faut donc bien faire un script qui enrobe l'appel a rsnapshot
Nicolas George
Le #24320511
gerbier , dans le message
on peut tester si le disque est monté avec un code comme ci-dessous

tst=$( mount | grep '/media/sauvegardes' )



La commande mountpoint est plus adaptée. Sans compter que ton grep est
largement sujet à erreur.
geo cherchetout
Le #24320551
Le 13/03/2012 14:19, *Nicolas George* a écrit fort à propos :

La commande mountpoint est plus adaptée.



Un exemple d'utilisation, stp ?

Sans compter que ton grep est largement sujet à erreur.



Pas grave, je peux aussi regarder dans /etc/mtab.
Nicolas George
Le #24320671
geo cherchetout , dans le message
Un exemple d'utilisation, stp ?



RTFM

Pas grave, je peux aussi regarder dans /etc/mtab.



C'est encore moins fiable, puisque tu cumules les bugs de ta commande mount
avec le manque de fiabilité de ce fichier idiot.
gerbier
Le #24320931
Le 13/03/2012 14:19, Nicolas George a écrit :
gerbier , dans le message
on peut tester si le disque est monté avec un code comme ci-dessous

tst=$( mount | grep '/media/sauvegardes' )



La commande mountpoint est plus adaptée. Sans compter que ton grep est
largement sujet à erreur.



je ne connaissais pas cette comande.

le code shell devient quelque chose comme :

mountpoint /media/sauvegardes
if [ $? -eq 0 ]
then
echo "monte"
else
echo "pas monte"
fi
Francois Lafont
Le #24320761
Le 13/03/2012 14:44, geo cherchetout a écrit :

La commande mountpoint est plus adaptée.



Un exemple d'utilisation, stp ?



Sans doute un truc dans le genre ça :

------------------------------------------------
if mountpoint -q "/media/sauvegardes"; then
echo "Monté."
else
echo "Pas monté."
fi
------------------------------------------------


--
François Lafont
geo cherchetout
Le #24320801
Le 13/03/2012 15:51, *Francois Lafont* a écrit fort à propos :

Sans doute un truc dans le genre ça :

------------------------------------------------
if mountpoint -q "/media/sauvegardes"; then
echo "Monté."
else
echo "Pas monté."
fi
------------------------------------------------



Je viens juste de trouver la même chose ! Merci quand-même. :-)
Publicité
Poster une réponse
Anonyme