Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Crontab error
Envoyé par: Arnaud62

Bonjour,

J'ai rencontré des problèmes avec un Linux.
J'ai ajouté dernièrement une tache dans le crontab avec cette commande "vi /etc/crontab" en éditant le fichier texte, en enregistrant. Ensuite je faisais "crontab /etc/crontab" et "/etc/init.d/cron restart".

Depuis cet instant, TOUTES Les tâches renvoient un mail d'erreur disant "/bin/sh: root: command not found".
Mais les tâches s'executent correctement !

Mais ceci me le fait sur 1 Serveur, mais pas sur 1 autre !

Je viens de remarquer qu'en éditant avec la commande "crontab -e" et SANS spécifier l'utilisateur root dans la ligne du crontab, cela fonctionne !

Quelqu'un peut-il m'éclairer la dessus ?

Merci.

Poste le Thursday 27 December 2007 14:50:20
Répondre     Citer    
Re: Crontab error

Ça fait penser à un problème de PATH. Essaies par exemple d'indiquer le chemin complet de l'exécutable dans /etc/crontab.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Thursday 27 December 2007 15:16:41
Répondre     Citer    
Re: Crontab error
Envoyé par: Arnaud62

Ah non pas de problème à ce niveau :

Mon fichier est comme ceci :

# This file also has a username field, that none of the other crontabs do.
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * run-parts --report /etc/cron.hourly
25 6 * * * test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6 * * 7 test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6 1 * * test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly



Il est maintenant spécifié sans utilisateur, et édité en faisant crontab -e


Si j'édite avec vi /etc/crontab je n'ai déjà pas le même fichier, j'ai l'ancienne version.

Aparemment j'ai 2 crontab qui fonctionnent ... mais il faut absolument que j'édite avec crontab -e pour que le tout fonctionne...

Poste le Thursday 27 December 2007 15:22:11
Répondre     Citer    
Re: Crontab error

Il est toujours mieux (i.e. fortement recommandé) d'utiliser
crontab -e
que d'éditer le fichier /etc/crontab !
En effet, crontab -e fournit un mécanisme de relecture du fichier de cron !

C'est en forgeant qu'on devient forgeron, et c'est en sciant que Léonard De Vinci !

Mon site perso

Poste le Thursday 27 December 2007 22:06:05
Répondre     Citer    
Re: Crontab error
Envoyé par: Arnaud62

Ok je retiendrais la solution du crontab -e.

Mais j'ai maintenant un autre problème !

Je pense d'après ce que j'ai pu lire que crontab -e édite le fichier crontab de l'utilisateur courant (root).
J'ai donc maintenant 2 fois les mêmes tâches au mêmes heures ce qui me renvoie des messages d'erreur !
Exemple, pour la sauvegarde, elle s'est bien faite, mais j'ai eu ce mail :

mt: /dev/st0: Device or resource busy
tar: /dev/st0: ne peut open: Périphérique ou ressource occupé
tar: Erreur non récupérable: fin de l'exécution immédiate
tar: /dev/st0: ne peut open: Périphérique ou ressource occupé
tar: Erreur non récupérable: fin de l'exécution immédiate
mt: /dev/st0: Device or resource busy



Comment faire en sorte de n'avoir plus qu'un seul crontab ?

Poste le Friday 28 December 2007 08:58:09
Répondre     Citer    
Re: Crontab error

Tu peux déjà lister tes crontabs en faisant
crontab -l
D'autre part, il est important (essentiel) de ne passer root que lorsqu'on ne peut pas faire autrement.

C'est en forgeant qu'on devient forgeron, et c'est en sciant que Léonard De Vinci !

Mon site perso

Poste le Friday 28 December 2007 09:22:01
Répondre     Citer    
Re: Crontab error
Envoyé par: Arnaud62

Merci de la réactivité. ];-)

crontab -l
me liste la même chose que crontab -e

vi /etc/crontab
me donne un crontab différent. (j'ai juste une ligne en moins)

Je voudrais que ne tourne QUE LE CRONTAB qui est derrière
crontab -e

Comment savoir a qui appartiennent les autres crontab ?

Poste le Friday 28 December 2007 09:26:55
Répondre     Citer    
Re: Crontab error

La meilleure solution est de nettoyer le fichier /etc/crontab :
cat /dev/zero > /etc/crontab
et de récréer toutes les crontabs voulues via crontab -e

C'est en forgeant qu'on devient forgeron, et c'est en sciant que Léonard De Vinci !

Mon site perso

Poste le Friday 28 December 2007 09:48:55
Répondre     Citer    
Re: Crontab error
Envoyé par: Arnaud62

Merci.
Je viens de faire cela.
En tappant crontab -e rien n'avait changé.
Je n'ai plus rien dans le /etc/crontab

Je verrais si j'ai d'autres problèmes.

Sinon pour répondre à tout à l'heure : j'utilise toujours root car le serveur sert juste de serveur. Les sessions utilisateur ne servent pas ici.
Il est tout de même conseillé de ne pas utiliser root ?

Poste le Friday 28 December 2007 10:10:52
Répondre     Citer    
Re: Crontab error

Il est d'autand plus recommandé de ne pas se servir de l'accès root !!

C'est en forgeant qu'on devient forgeron, et c'est en sciant que Léonard De Vinci !

Mon site perso

Poste le Friday 28 December 2007 21:43:20
Répondre     Citer    
Re: Crontab error
Envoyé par: chromosome

Visiblement tu confond crontab et cron.
Ceci dit je comprends ton probleme car je me demande quel abruti a utilise le nom 'crontab' pour les fichiers cron.

Pour ton info, le crontab, avec la commande 'crontab' (dont le -l -e etc...) stocke les configs dans /var/spool/cron/crontabs (ca differe un peu selon les versions de Unix). Mais en general dans ce repertoire tu trouveras un fichier par user ayant un crontab. Le format de ce fichier ne correspond pas du tout a celui du cron (ou la par exemple tu n'as qu'un fichier, et tu donnes le user a utilise dans les parametres), le format du fichier crontab est beaucoup plus simple que ceux du cron (mais bon c'est une question de gout)

Dans ton cas, pour ton probleme initial, tu avais mis une synthax cron dans le fichier crontab (d'ou l'erreur 'root' je connais pas). Maintenant il faut evidement TOUJOURS editer les fichiers crontab avec la commande crontab -l.

Maintenant si tu veux utiliser cron, eux ce trouvent dans /etc (/etc/crontab, /etc/cron.d/ /etc/cron.xxx) et donc les deux concepts n'ont rien en commun si ce n'est leur fonction, et le mix dans la definition de leur nom)

Poste le Sunday 30 December 2007 23:38:37
Répondre     Citer    
Re: Crontab error
Envoyé par: Arnaud62

Ah ok !
Crontab et cron sont des choses différentes ! #%b

Je pensais que Cron était le service (crond).
Et Crontab le fichier de config de ce service ...

Bon, j'ai toujours des problèmes.
A ce jour, ma sauvegarde ne s'est pas faite vendredi !
Sauvegarde via un script .sh
Alors que la ligne est présente dans le crontab -e (!)!

Je ne comprends donc pas ce qui s'est passé :-/

Poste le Monday 31 December 2007 10:12:57
Répondre     Citer    
Re: Crontab error
Envoyé par: Arnaud62

Je pense avec votre aide et l'aide de ce site :
[v]www.freebsd.org/doc/fr_FR.ISO8859-1/books/handbook/configtuning-cron.html[/v]
avoir saisi la notion de cron et crontab

J'ai remis le tout en état initial avant que je n'y touche :
- J'ai effacé le crontab de root avec la commande crontab -r
- J'ai remis le tout dans le fichier /etc/crontab avec l'utilitaire vi
ET C'EST TOUT.
NE PAS TAPPER LA COMMANDE crontab crontab qui inscrit le fichier cron /etc/crontab comme fichier crontab pour root, ce qui fait un doublon !

Je confirmerais mes dires jeudi lorsque tout aura été vérifié en réél.

Merci encore.
A très bientôt ^^

Poste le Monday 31 December 2007 11:10:26
Répondre     Citer    
Re: Crontab error
Envoyé par: chromosome

En fait le daemon cron utilise 2 types de config :
- les fichiers se trouvant dans /etc (dont le fichier de config crontab, plus les cron.xxx)
- les fichiers se trouvant dans /var/spool/cron ... (et editable avec la commande crontab)

Ce que je ne cromprends pas, c'est pourquoi les developpeurs ont ete donne le nom 'crontab' au fichier se trouvant dans /etc et pas simplement cron.conf. Ca aurait evite pas mal de soucis.

Personnellement j'utilise crontab et pas les fichiers cron, car c'est plus standard Unix (je retrouve les memes commandes sur mes serveurs AIX ou Solaris)

Maintenant pour ton script, je ne saurai pas te dire pourquoi ca ne machait pas dans la config crontab, vu que tu ne l'as pas mis dans les posts (du moins je ne le vois pas)

Poste le Monday 31 December 2007 14:58:31
Répondre     Citer    
Re: Crontab error
Envoyé par: Arnaud62

Tout est rentré dans l'ordre.
Merci encore.

Poste le Thursday 3 January 2008 10:16:10
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Crontab error
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons