Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/08/2011, à 10:06

solho

[Résolu] CRONTAB - Ou est l'erreur?

Bonjour à tous...

Encore un crontab capricieux.
Voici mon crontab, crée et edité avec crontab -e (pas de sudo, je n'en ai pas besoin ):

# m h  dom mon dow   command
# 30 0-19/6 * * * /home/solho/Sikuli/Sikuli-IDE/sikuli-ide.sh -r /home/solho/Sikuli/9boxAUTOparams.sikuli

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

*/6 * * * * /home/solho/9box.sh
*/6 * * * * echo "Test Cron: $(date)" >>/home/solho/TESTCRON.log

La ligne avec echo fonctionne bien, j'ai bien le fichier TESCRON.log crée avec une nouvelle ligne toutes les 6 minutes. Par contre, pas moyen d'éxécuter le script.
Aprés quelques recherches sur le forum, j'ai essayer plusieurs choses:

*/6 * * * * 9box.sh

Ne fonctionne pas... ce aurait été trop simple...

*/6 * * * * sh /home/solho/9box.sh

Encore trop simple??? ne fonctionne pas...

*/6 * * * * gnome-terminal "sh /home/solho/9box.sh"

Ne foctionne pas...

*/6 * * * * DISPLAY=0 && gnome-terminal "sh /home/solho/9box.sh"

Je ne me souviens plus de la syntaxe exact, mais le copier coller fait à ce moment ne fonctionne pas non plus...

Les path SHELL et PATH ont aussi été rajoutés suite à mes recherches...

Petit historique de mon crontab:
Le premier jet

30 0-19/6 * * * /home/solho/Sikuli/Sikuli-IDE/sikuli-ide.sh -r /home/solho/Sikuli/9boxAUTOparams.sikuli

Cette commande fonctionne parfaitement dans le terminal, mais semble inactive dans le crontab.
J'ai donc repris cette commande dans un script
(edit) Le script 9box.sh:

#! /bin/sh

/home/solho/Sikuli/Sikuli-IDE/sikuli-ide.sh -r /home/solho/Sikuli/9boxAUTOparams.sikuli

Rien de bien folichon, le fichier est rendu éxécutable (coché dans les propriétés), un double-click dessus puis lancé, le script se déroule à merveille...mais pas dans le crontab...
De plus j'ai ajouté mon nom d'utilisateur à /etc/cron.allow.

Bref, le crontab est bien opérationnel, puisque il a crée le fichier TESTCRON, et il l'édite régulièrement selon mon paramétrage... Mais je n'arrive pas à lancer le script de la même façon, ce qui est assez embarrassant et surtout embétant (Script pour controler et rétablir le cas échéant le NAT de ma 9box, afin de pouvoir effectuer un vnc+ssh sur le pc à distance, dans un batiment d'élevage).

Alors si l'un d'entre vous connait la solution , je lui serait extrémement reconnaissant de me la souffler...

Cordialement, merci d'avance...

Dernière modification par solho (Le 18/08/2011, à 17:19)


Don't Worry... Be Linux!
Ubuntu 10.10 & 11.04
quelques mémentos.

Hors ligne

#2 Le 18/08/2011, à 12:37

survietamine

Re : [Résolu] CRONTAB - Ou est l'erreur?

salut, je pense que ça dépend du contenu de ton 9box.sh
Dans ton script, est-ce que tu fais appel à des outils sans préciser le chemin ?


Ðɸ Ƴơц ℕεєđ Şø₥€ √іêŤąɱίɳƸʂ ?

Hors ligne

#3 Le 18/08/2011, à 12:44

credenhill

Re : [Résolu] CRONTAB - Ou est l'erreur?

hello
récupérer les erreurs

*/6 * * * * /home/solho/9box.sh > /tmp/log1 2>&1

Hors ligne

#4 Le 18/08/2011, à 13:39

jilucorg

Re : [Résolu] CRONTAB - Ou est l'erreur?

credenhill a écrit :
*/6 * * * * /home/solho/9box.sh > /tmp/log1 2>&1

'2>&1' placé comme ça, ça va les écrire dans quoi, les sorties d'erreur+standard ?


  jiluc.
––
             Pour soutenir concrètement le logiciel libre : l'April !    http://www.april.org

Hors ligne

#5 Le 18/08/2011, à 14:22

solho

Re : [Résolu] CRONTAB - Ou est l'erreur?

Re...

survietamine a écrit :

salut, je pense que ça dépend du contenu de ton 9box.sh
Dans ton script, est-ce que tu fais appel à des outils sans préciser le chemin ?

Pardon, je l'ai mis dans mon 1er post, mais je n'avais pas mis le nom du script
9box.sh

#! /bin/sh

/home/solho/Sikuli/Sikuli-IDE/sikuli-ide.sh -r /home/solho/Sikuli/9boxAUTOparams.sikuli

On ne peut plus simple, et il est opérationnel si je le lance en double-cliquant dessus puis lancer...

Credenhill & Jilucorg:

Je vais essayer cela, je vous tiens au courant...


Don't Worry... Be Linux!
Ubuntu 10.10 & 11.04
quelques mémentos.

Hors ligne

#6 Le 18/08/2011, à 14:33

jilucorg

Re : [Résolu] CRONTAB - Ou est l'erreur?

Autre voie : les compte-rendus de cron sont en principe des mails lisibles par la commande

mail

qui fournit dans un terminal la liste des mails (un horodaté pour chaque tâche), ouvrables un par un par la touche 'Entrée'. Ils sont, ces mails dans le répertoire /var/mail/utilisateur

Dernière modification par jilucorg (Le 18/08/2011, à 15:36)


  jiluc.
––
             Pour soutenir concrètement le logiciel libre : l'April !    http://www.april.org

Hors ligne

#7 Le 18/08/2011, à 15:23

credenhill

Re : [Résolu] CRONTAB - Ou est l'erreur?

jilucorg a écrit :
credenhill a écrit :
*/6 * * * * /home/solho/9box.sh > /tmp/log1 2>&1

'2>&1' placé comme ça, ça va les écrire dans quoi, les sorties d'erreur+standard ?

dans /tmp/log1

Hors ligne

#8 Le 18/08/2011, à 15:25

solho

Re : [Résolu] CRONTAB - Ou est l'erreur?

Bien, alors

/bin/sh: can't found /home/solho/9box.sh 
(si je me souviens bien)

du coup quelque modif sur le crontab, notamment sur les chemins pour arriver à

/bin/sh: can't open /home/solho/9box.sh

Le crontab est

*/6 * * * * /bin/sh /home/solho/9box.sh >/tmp/log9box 2>&1

J'ai essayer de mettre entre " /home/solho/9box.sh, mais même retour d'erreurs...

Je viens de voir ce topic, je vais essayer avec le display (aprés tout, hein?)...

*/6 * * * * DISPLAY=:0.0 /bin/sh /home/solho/9box.sh > /tmp/log9box 2>&1

...
...
Bon, toujours rien...
Retour du log,

/bin/sh: Can't open /home/solho/9box.sh

Je comprend pas... Le script fonctionne si je le lance avec un double-click, par contre, si je tente via un terminal,

solho@solho-BATVX:~$ sh /home/solho/9box.sh
sh: Can't open /home/solho/9box.sh
solho@solho-BATVX:~$  /home/solho/9box.sh
bash: /home/solho/9box.sh: Aucun fichier ou dossier de ce type
solho@solho-BATVX:~$ /home/solho/9box.sh
bash: /home/solho/9box.sh: Aucun fichier ou dossier de ce type
solho@solho-BATVX:~$ sh "/home/solho/9box.sh"
sh: Can't open /home/solho/9box.sh
solho@solho-BATVX:~$ sh "/home/solho/9box.sh
> ^C
solho@solho-BATVX:~$ 9box.sh
9box.sh : commande introuvable
solho@solho-BATVX:~$ sh 9box.sh
sh: Can't open 9box.sh

... Hum, ça ne serait pas un problème de droit sur le fichier?
En attendant, je vais tenter de remettre la ligne de commande du script directement dans le crontab... histoire de voir, puis je fais un 'tit break... je reviendrai vers vous pour vos infos et vous faire mon rapport...

#*/6 * * * * DISPLAY=:0.0 /bin/sh /home/solho/9box.sh >/tmp/log9box 2>&1
*/6 * * * * /home/solho/Sikuli/Sikuli-IDE/sikuli-ide.sh -r /home/solho/Sikuli/9boxAUTOparams.sikuli > /tmp/log9box 2>&1

A+


Don't Worry... Be Linux!
Ubuntu 10.10 & 11.04
quelques mémentos.

Hors ligne

#9 Le 18/08/2011, à 15:42

jilucorg

Re : [Résolu] CRONTAB - Ou est l'erreur?

et pour la console

solho@solho-BATVX:~$ ./9box.sh

ne marche pas non plus ?

(@credenhill : pardon pour le délire hmm)


  jiluc.
––
             Pour soutenir concrètement le logiciel libre : l'April !    http://www.april.org

Hors ligne

#10 Le 18/08/2011, à 16:43

Brunod

Re : [Résolu] CRONTAB - Ou est l'erreur?

Les droits sur ton script sont bons pour que crontab puisse l'appeler ?


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#11 Le 18/08/2011, à 17:18

solho

Re : [Résolu] CRONTAB - Ou est l'erreur?

COucou, me revoilà....

Bonne nouvelle, ça marche... (Ouf, je peux partir en vacances l'esprit tranquille...)

*/6 * * * * /home/solho/Sikuli/Sikuli-IDE/sikuli-ide.sh -r /home/solho/Sikuli/9boxAUTOparams.sikuli > /tmp/log9box 2>&1

retour d'erreur me parlant de display x11 attendu (enfin, un truc du genre...), alors, hop, petite recherche sur la commande DISPLAY, déja utilisée, mais qui ne marchait pas (syntaxe?)...
Aprés lecture de la doc sur les variable, je tente

*/6 * * * * DISPLAY=:0 /home/solho/Sikuli/Sikuli-IDE/sikuli-ide.sh -r /home/solho/Sikuli/9boxAUTOparams.sikuli > /tmp/log9box 2>&1

et là, miracle, ça marche!!! big_smile

En gros, une erreur sur la syntaxe d'une commande, et (à vérifier, mais aprés les vacances...) surement un problème de droits sur un script  (La case à cocher dans "Propriétés" pour rendre un fichier exécutable ne doit pas agir de la même façon qu'un chmod x sur le fichier) été la source du non fonctionnement de la commande. Ainsi que de ne pas penser à sortir un log, c'est vrai que ça aide beaucoup...

En tout cas, MERCI à vous tous  (si, si...) pour vos précieux conseils / pistes qui m'ont guider vers une solution ...

Cordialement


Don't Worry... Be Linux!
Ubuntu 10.10 & 11.04
quelques mémentos.

Hors ligne