Tâche cron probleme

Fermé
vikeq - 16 mars 2012 à 19:53
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 18 mars 2012 à 10:45
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

jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 306
16 mars 2012 à 20:46
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
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
17 mars 2012 à 08:26
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
serpan2 Messages postés 178 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 10 juin 2015 6
17 mars 2012 à 14:23
dans ton cron essaye d'ajouter un "sh" au début:
=> sh /usr/bin/rungooglecontacts.sh
0
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:

52 database entries removed.
Updated 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

Vous n’avez pas trouvé la réponse que vous recherchez ?

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

#!/bin/bash
python /usr/lib/python2.4/googlecontacts.py
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
Modifié par zipe31 le 18/03/2012 à 11:00
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