gratifiant > comp.os.* > comp.os.linux.configuration

Lassie (13/02/2004, 17h26)
Hello,

J'ai un script qui fait une sauvegarde (tar) de toute l'arborescence des
sources d'un projet.
Je fais juste un tar, puis je fais aussi une copie sur un serveur réseau
monté avec samba sur /mnt/backup

Voilà mon "script" (on ne rigole pas... :-) ) :
Tibi (13/02/2004, 17h35)
On Fri, 13 Feb 2004 16:26:24 +0100, Lassie <lameto0> wrote:

> Je comprends pas pourquoi ça marche en le lançant à la main, et ça
> plante quand c'est la crontab qui le lance. Chuis perplexe là...


L'utilisateur perplexe sera avisé de lire ses mails dans ce cas précis.
Cron t'envoie par mail les sortie standard et d'erreur des jobs qu'il
lance :)
Luc Martineau (13/02/2004, 17h53)
Lassie wrote:
> Hello,

Bonjour
....
> Le script est bien lancé au bon moment (bons jours, et bonne heure) par
> la crontab, mais le tar ne se termine apparemment pas bien : le fichier
> .tgz ne fait que 30k et n'a pas été copié avec le cp. Quand j'essaye de
> restaurer le .tgz , il me sort une erreur.
> Je comprends pas pourquoi ça marche en le lançant à la main, et ça
> plante quand c'est la crontab qui le lance. Chuis perplexe là...

À tout hasard, est-ce que tar est accessible à partir de la varible PATH du
crontab de l'utilisateur qui exécute le script?

L'environnement de cron est minimaliste.
C'est un cas classique d'un script qui fonctionne en interactif et pas avec cron

Donc ,deux solutions:
1)Ajouter la ligne suivante au crontab:
PATH="/bin"

2)Spécifier le chemin complet de tar et cp dans le script

En espérant d'avoir aider un peu.

Luc
TiChou (13/02/2004, 17h59)
Dans l'article news:402ceb91$0$28151$626a14ce,
Lassie <lameto0> écrivait :

> Hello,


Bonjour,

[..]
> restaurer le .tgz , il me sort une erreur.
> Je comprends pas pourquoi ça marche en le lançant à la main, et ça
> plante quand c'est la crontab qui le lance. Chuis perplexe là...


Le même problème a été signalé ici :



Essayez de tenir compte des remarques qui avaient été faite.
Malheureusement, et ça bien trop souvent, l'initiateur de ce post nous a pas
tenu informé de l'évolution de son problème et de sa résolution ou pas...
Pour ma part, je pense que le problème se situe au niveau des redirections
des sorties. N'utilisez pas l'option verbose (-v) dans votre commande tar.
Pascal H. (13/02/2004, 18h13)
Le Fri, 13 Feb 2004 16:26:24 +0100, Lassie a écrit :

> Je comprends pas pourquoi ça marche en le lançant à la main, et ça
> plante quand c'est la crontab qui le lance. Chuis perplexe là...


Difficile de répondre sans avoir plus d'éléments.

Visiblement le problème qui se produit c'est que tar n'arrive pas à
lire les fichiers de ton projet. Reste à savoir pourquoi, ma première
intuition c'est qu'il s'agit d'un problème de droits sur tes fichiers.
Lassie (13/02/2004, 19h04)
TiChou wrote:
[snip]
> Le même problème a été signalé ici :
>
> Essayez de tenir compte des remarques qui avaient été faite.
> Malheureusement, et ça bien trop souvent, l'initiateur de ce post nous a pas
> tenu informé de l'évolution de son problème et de sa résolution ou pas...
> Pour ma part, je pense que le problème se situe au niveau des redirections
> des sorties. N'utilisez pas l'option verbose (-v) dans votre commande tar.


Bien vu, c'était effectivement l'histoire de la redirection de la sortie
standard.
J'ai modifié la crontab pour rediriger la sortie standard vers un log,
et ça marche nickel :
/home/monuser/Projet/Tools/backup_sources.sh > /tmp/myscript.log

Merci pour l'info, je ne savais pas que la crontab ne connaissait pas la
même sortie standard que le user. D'après ce que je crois comprendre,
par defaut, c'est redirigé vers le mail et apparemment le mail explose
car le -v du tar est trop 'bavard'.
Ca m'intéresse cette histoire d'erreurs redirigées vers le mail, ça peut
m'être utile pour un autre script. Je vais chercher de la doc la dessus.

A+
Lassie (13/02/2004, 19h06)
Tibi wrote:
> On Fri, 13 Feb 2004 16:26:24 +0100, Lassie <lameto0> wrote:
>> Je comprends pas pourquoi ça marche en le lançant à la main, et ça
>> plante quand c'est la crontab qui le lance. Chuis perplexe là...

> L'utilisateur perplexe sera avisé de lire ses mails dans ce cas précis.
> Cron t'envoie par mail les sortie standard et d'erreur des jobs qu'il
> lance :)


Pile poil... c'était effectivement à cause de la redirection par defaut
du cron sur le mail. Apparemment le tar génère trop de lignes (à cause
du -v) pour le mail qui fini par exploser...
Je ne connaissais pas ce détail de la crontab.
A+
Discussions similaires