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

2 réponses

  1. nabot
     
    ton script utilises des variables d'environnement ou des chemins qui sont pas le path de l'utilisateur qui lance le cron.
    0
    1. 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
      1. asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   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
      2. wintermoon Messages postés 9 Statut Membre > asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention  
         
        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
  2. 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
    1. wintermoon Messages postés 9 Statut Membre
       
      merci je vais essayer ça

      bonne soirée
      0