Tâche cron probleme

vikeq -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
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. jivef Messages postés 1024 Statut Membre 306
     
    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.
    0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
    0
  3. serpan2 Messages postés 191 Statut Membre 6
     
    dans ton cron essaye d'ajouter un "sh" au début:
    => sh /usr/bin/rungooglecontacts.sh
    0
  4. vikeq
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. vikeq
     
    peut-être un probleme de PATH ou chemin complet dans mon script...

    #!/bin/bash
    python /usr/lib/python2.4/googlecontacts.py
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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...
      0