Pb de lancement d'un script avec le cron

wintermoon Messages postés 9 Statut Membre -  
wintermoon Messages postés 9 Statut Membre -
Bonjour à tous

Je ne connais pas très bien Unix. Je souhaite lancer tous les jours par le cron 4 scripts à 1h, 2h, 4h et 7h. Celui de 4h n'a jamais fonctionné. Je fais bien appel au bon fichier, avec le bon chemin (quand je lance ce script à la main il tourne très bien). Quelqu'un peut-il m'aider ? Merci beaucoup d'avance. Je travaille sur SUN OS 5.7

Bonne journée
A voir également:

2 réponses

nabot
 
ton script utilises des variables d'environnement ou des chemins qui sont pas le path de l'utilisateur qui lance le cron.
0
wintermoon Messages postés 9 Statut Membre
 
Merci nabot, peux-tu stp m'expliquer davantage ? mon script utilise les mêmes variables et les mêmes chemins que les 3 autres scripts. Le cron appartient à root. Pourquoi les 3 autres marchent et pas celui-ci ?
0
asevere Messages postés 13521 Statut Webmaster 426 > wintermoon Messages postés 9 Statut Membre
 
Salut Wintermoon,

Bon, normalement, cron demarre avec un PATH reduit, (/bin;/usr/bin)
Donc il faut prendre l'habitude dans tes script de donner a chaque fois le chemin complet de tes commandes, executables, fichier (d'une maniere générale, c'est pas plus mal pour tout les scripts). De plus veille bien a ne pas utiliser les options Verbose (tar -cvzf -> tar -czf) Ca peu poser probleme quelques fois, et de maniere plus general, tu peux rediriger la sortie standard et les erreurs, qui ne te sont pas utiles dans un script cron. (2>&1 >dev/null)

@++

"Si c'est stupide et que ça marche,
        alors ce n'est pas stupide"
0
wintermoon Messages postés 9 Statut Membre > asevere Messages postés 13521 Statut Webmaster
 
Bonjour asevere

c'est gentil de m'avoir répondu, merci...

Voici la ligne qui fonctionne pas dans mon cron:
00 04 * * * /u01/scripts/integrations/purge>>dev/null

Dans mon script "purge" je mets à chaque fois le chemin complet:

cd /u01/scripts/integrations

echo "`date +%y%m%d-%H:%M:%S`" >> purge.tr
/u01/bin/sqlplus user/pw @toto.sql > > purge.tr
...

Ma trace purge.tr reste vide, comme si ma ligne dans le cron était inexistante :-(
0
coppernix Messages postés 63 Statut Membre 4
 
Ajoute 2>/tmp/err à la fin de ta ligne pour voir les erreurs au cas où
0
wintermoon Messages postés 9 Statut Membre
 
merci je vais essayer ça

bonne soirée
0