[Unix Solaris 5.8] - crontab prblm PATH

Fermé
david - 5 mai 2006 à 09:51
 Jalal - 27 févr. 2013 à 11:44
Bonjour,

J'ai un sacré problème avec la crontab.

J'ai configuré l'exécution d'un script dans la crontab de l'utilisateur root et j'ai un mail qui me prévient qu'il ne retrouve pas la commande utilisée dans ce script.

Or cette commande se trouve dans le PATH du root, par contre j'ai l'impression que le PATH est différent avec crontab car j'ai placé un echo $PATH dans mon script et le PATH comprend seulement deux chemins alors que celui que j'ai configuré dans le PATH du root est beaucoup plus complet et me permet de lancer mon script à la main.

Merci d'avance pour vos réponses.

17 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
5 mai 2006 à 11:20
Salut,

Affiche-nous la ligne de ton crontab s'il te plaît, merci. ;-)
Ta ligne comprend-t-elle le chemin complet vers ton programme ?
As-tu exporté le "PATH" de root ?
0
Bonjour,
j'ai le meme probleme et voici mon fichier /var/spool/cron/crontabs/root.
en fait je voudrais exécuter le fichier "fektest.sh" qui se trouve dans le repertoire racine (/) de mon DD


10 3 * * * /usr/sbin/logadm
15 3 * * 0 /usr/lib/fs/nfs/nfsfind
1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1
30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
50 8 * * * ./fektest.sh
#10 3 * * * /usr/lib/krb5/kprop_script ___slave_kdcs___
~


Merci
Tilk
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 mai 2007 à 10:29
Salut,

en fait je voudrais exécuter le fichier "fektest.sh" qui se trouve dans le repertoire racine (/) de mon DD

50 8 * * * ./fektest.sh


ton cas ce n'est pas pareil (en fin je suppose vu que david n'a rien affiché)

dans ton crontab tu veux lancer la commande ./fektest.sh mais ./ ce n'est pas le répertoire racine mais le répertoire courant
le répertoire racine est / donc tu dois écrire plutôt
50 8 * * * /fektest.sh 

0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
11 mai 2007 à 11:04
cron n'utilise pas le PATH défini dans le ou les profile.
il n'y a pas de login, c'est à l'utilisateur de définir les bon PATH dans le crontab.
0
Slt Lami20j,

je viens de metre /fektest.sh com vous avez dit au lieux de ./fektest.sh
mais ca ne marche toujours pas !
ne faudrait il pas relancer le service cron ? mais je n sais pas comment le faire !

Merci Tilk
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 mai 2007 à 11:08
ne faudrait il pas relancer le service cron ? mais je n sais pas comment le faire !
Normalement il ne faut pas le relancer mais tu peux toujours essayer

affiche
find / -name  fektest.sh 
find /etc -name '*cron*'
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Voilà le resultat des deux commandes que vous avez demandé

bash-2.05# find / -name fektest.sh
/fektest.sh


bash-2.05# find /etc -name '*cron*'
/etc/cron
/etc/cron.d
/etc/cron.d/cron.deny
/etc/default/cron
/etc/init.d/cron
/etc/rc0.d/K40cron
/etc/rc1.d/K40cron
/etc/rc2.d/S75cron
/etc/rcS.d/K40cron
/etc/webmin/cluster-cron
/etc/webmin/cron
bash-2.05#
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 mai 2007 à 11:23
affiche aussi
ls -l /fektest.sh 
pour redémarrer ton cron utilise
/etc/init.d/cron restart
--
lami20j
0
bash-2.05# ls -l fektest.sh
-rwxr-xr-x 1 root other 7 May 11 08:38 fektest.sh
bash-2.05#

par ailleurs, le service cron est bien demarré

Tilk
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 mai 2007 à 11:32
Peux-tu afficher ton script?
0
c'est juste une commande et ca marche tres bien manuellement quand je fais ./fektest.sh à l'invite

le fichier fektest.sh ne contien qu'une seule ligne

reboot


en fait je voudrais pouvoir redemarer mon serveur à des moment precis
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 mai 2007 à 11:49
essaie avec
50 8 * * * /sbin/reboot
affiche le résultat de la commande
 crontab -l -u root
chez moi par exemple j'ai
59 23  * * * /sbin/init 0
et ça fonctionne sans problèmes
0
Désolé mais ca ne marche tjrs pas
j'ai mis directement "50 8 * * * /sbin/reboot" et modifier l'heure par rapport à l'heure systeme pour voir l'exécution mais rien

voici le resultat de la commande demandée

bash-2.05# crontab -l -u root
crontab: illegal option -- u
crontab: proper usage is:
crontab [file | -e | -l | -r ] [user]
bash-2.05#
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 mai 2007 à 12:26
alors affiche
crontab -l root
tu peux tester comme ça
ajoute une commande de genre
*/1 * * * *  echo salut  >> /dev/pts/1

ensuite en root tape
tail -f /var/log/syslog

si tu vois des lignes comme ça

May 11 12:29:02 debian /USR/SBIN/CRON[12821]: (root) CMD (echo salut >> /dev/pts/1)


alors ton cron fonctionne
0
Slt,
Oui j'ai éffectivement le comporttement que vous decrivez là
donc mon cron fonctionne !

mais pourkoi ma commande ne marche pas ?
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 mai 2007 à 17:21
Au lieu de reboot mets
 /sbin/init 6
0
je crois que c'est la magie car ca ne marche toujours pas

Tilk
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 mai 2007 à 19:30
tu es en root ou pas?
chez moi ça marche
0
Ne jamais modifier le fichier crontab utilisateur directement. En effet, il ne faut pas faire :
vi /var/spool/cron/crontabs/root
=> Cette modification n'est pas effective...

Solution: (il faut passer par crontab -e pour éditer la crontab)
export EDITOR=vi
crontab -e
Faire les modifications et enregistrer.

Voili voilou..
0