[Unix Solaris 5.8] - crontab prblm PATH
david
-
Jalal -
Jalal -
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.
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
-
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 ?
-
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-
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ôt50 8 * * * /fektest.sh
-
-
-
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 -
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
affichefind / -name fektest.sh find /etc -name '*cron*'
-
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# -
affiche aussi
ls -l /fektest.sh
pour redémarrer ton cron utilise/etc/init.d/cron restart
--
lami20j -
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 -
Peux-tu afficher ton script?
-
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 -
essaie avec
50 8 * * * /sbin/reboot
affiche le résultat de la commandecrontab -l -u root
chez moi par exemple j'ai59 23 * * * /sbin/init 0
et ça fonctionne sans problèmes
-
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# -
alors affiche
crontab -l root
tu peux tester comme ça
ajoute une commande de genre*/1 * * * * echo salut >> /dev/pts/1
ensuite en root tapetail -f /var/log/syslog
si tu vois des lignes comme çaMay 11 12:29:02 debian /USR/SBIN/CRON[12821]: (root) CMD (echo salut >> /dev/pts/1)
alors ton cron fonctionne -
Slt,
Oui j'ai éffectivement le comporttement que vous decrivez là
donc mon cron fonctionne !
mais pourkoi ma commande ne marche pas ? -
Au lieu de reboot mets
/sbin/init 6
-
-
tu es en root ou pas?
chez moi ça marche -
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..