Tâche cron probleme

Bonjour,

1/ si je me mets en CLI
root@pbx:~$ /usr/bin/rungooglecontacts.sh
ma commande fonctionne et le résultat est constaté

j'ai crée une tache cron sous webmin:

S'exécute en tant que: root
Actif?: Oui
Commande: /usr/bin/rungooglecontacts.sh

2/ si j'appuie sur le bouton "executer maintenant": la tache cron se lance qui lance la commande qui fonctionne et le résultat est constaté

3/ si j'attends son exécution automatique à l'heure vouleu: la tache cron se lance (vu dans le cron.log):
Mar 16 19:15:01 pbx crond[10650]: (root) CMD (/usr/bin/rungooglecontacts.sh)

mais aucun résultat comme si la commande ne s'était jamais lancée... je ne comprends pas

help merci.

5 réponses

  1. Bonjour,
    Tu as essayé de rediriger la stderr vers un fichier pour savoir ce qui se passe ?

    Que fait ton script ?

    Affiche le résultat de la commande crontab -l, ca me parlera plus que tous les utilitaires du monde.

    A plus.
    1. Contributeur
      hello
      une tâche dans cron ne va rien afficher dans le terminal.
      comme dit plus haut, capturer les sorties dans un fichier
      /usr/bin/rungooglecontacts.sh > /tmp/log 2>&1
      1. dans ton cron essaye d'ajouter un "sh" au début:
        => sh /usr/bin/rungooglecontacts.sh
        1. mon script "rungooglecontacts.sh" copie les nom/prenom/n°téléphone de ma base de contacts de mon compte google pour les mettre dans l'annuaire de mon IPBX Asterisk. manuellement le script fonctionne nickel.

          mon script: /usr/bin/rungooglecontacts.sh est:

          #!/bin/bash
          python /usr/lib/python2.4/googlecontacts.py

          1/ en réponse à jivef
          root@pbx:~ $ crontab -l
          51 * * * * /var/lib/asterisk/bin/freepbx-cron-scheduler.php
          30 21 * * * /usr/bin/rungooglecontacts.sh

          j'avais programmé ce soir à 21h30, le cron c'est bien lancé mais aucun résultat de ma commande

          2/ en réponse à serpan2
          "dans ton cron essaye d'ajouter un "sh" au début:
          => sh /usr/bin/rungooglecontacts.sh"

          Résultat: idem le cron se lance mais pas de résultat constaté.

          3/en réponse à dubcek
          le cron se lance et crée le fichier /tmp/log dedans il y a

          sh: asterisk: command not found

          par contre si je retourne sur ma tache cron et que je fais "executer maintenant". le fichier /tmp/log se regnere de nouveau et dedans il y a:

          [0;37m52 database entries removed.
          [0m[0;37mUpdated database successfully
          résultat OK, le script a bien fonctionner

          Conclusion: en mode execution manuel "executer maintenant" le script fonctionne, en mode tache auto, le script ne fonctionne pas...

          NOTA: asterisk est le nom d'un user déclaré. j'ai essayé de changer la tache cron par le user "asterisk"

          idem meme resultat:
          le cron se lance et crée le fichier /tmp/log dedans il y a

          sh: asterisk: command not found

          re-idem: si je lance en mode manuel "exceuter maintenant", cette tache cron avec ce nouveau user "asterisk" fonctionne...

          help merci encore
          1. peut-être un probleme de PATH ou chemin complet dans mon script...

            #!/bin/bash
            python /usr/lib/python2.4/googlecontacts.py
            1. Contributeur
              Salut,

              C'est exactement ça. La crontab n'a pas d'environnement, il faut soit déclarer les variables d'environnement en début de script (comme le $PATH), soit sourcer son fichier d'environnement (source /home/USER/.bashrc par exemple), soit donner les chemins complets des exécutables...