donc ce script, appellons-le "toto.sh" est appellé de la maniere suivante: "toto.sh TATA"
il teste ensuite le port 22 du serveur distant (ip remplacé par xxx) et si cela répond, envoi la commande: "echo $i"
Vu que j'ai mis un "NARGS=1" au début, cela devrait envoyer "echo TATA"
mais via la crontab, cela ne renvoi que "echo"
j'ai fouillé un peu pour trouver une explication, et à priori cela viendrait de la variable d'environnement.
j'ai donc indiqué /usr/sbin dans le $PATH puisque mon script toto.sh s'y trouve.
donc ce script, appellons-le "toto.sh" est appellé de la maniere suivante: "toto.sh TATA" il teste ensuite le port 22 du serveur distant (ip remplacé par xxx) et si cela répond, envoi la commande: "echo $i"
Vu que j'ai mis un "NARGS=1" au début, cela devrait envoyer "echo TATA" mais via la crontab, cela ne renvoi que "echo"
j'ai fouillé un peu pour trouver une explication, et à priori cela viendrait de la variable d'environnement. j'ai donc indiqué /usr/sbin dans le $PATH puisque mon script toto.sh s'y trouve.
mais cela ne résoud rien :(
si quelqu'un avait une idée...
Merci :)
Merci pour vos réponses. alors, j'ai mis comme shebang : #!/bin/sh pour ce qui est de la commande echo dans sbin, heu.. c'est un exemple :p en fait la commande n'est pas un echo, mais un script sur la machine distante. j'ai aussi essayé avec maFunc $i cela ne change rien :( je seche... ha vi, j'ai mis aussi le chemin complet pour nc mais ca change rien ;)
threepwood a écrit le 17/03/2010 à 16h33 :
Bonjour,
j'ai crée un petit script qui envoi des commandes sur un serveur
distant, mais j'ai un petit soucis..
quand j'execute la commande à la main, cela fonctionne, par contre
dés qu'elle est en crontab, cela ne fonctionne plus.
donc ce script, appellons-le "toto.sh" est appellé de la
maniere suivante: "toto.sh TATA"
il teste ensuite le port 22 du serveur distant (ip remplacé par xxx) et
si cela répond, envoi la commande: "echo $i"
Vu que j'ai mis un "NARGS=1" au début, cela devrait envoyer
"echo TATA"
mais via la crontab, cela ne renvoi que "echo"
j'ai fouillé un peu pour trouver une explication, et à priori
cela viendrait de la variable d'environnement.
j'ai donc indiqué /usr/sbin dans le $PATH puisque mon script toto.sh s'y
trouve.
mais cela ne résoud rien :(
si quelqu'un avait une idée...
Merci :)
Merci pour vos réponses.
alors, j'ai mis comme shebang : #!/bin/sh
pour ce qui est de la commande echo dans sbin, heu.. c'est un exemple :p
en fait la commande n'est pas un echo, mais un script sur la machine distante.
j'ai aussi essayé avec maFunc $i
cela ne change rien :(
je seche...
ha vi, j'ai mis aussi le chemin complet pour nc mais ca change rien ;)
donc ce script, appellons-le "toto.sh" est appellé de la maniere suivante: "toto.sh TATA" il teste ensuite le port 22 du serveur distant (ip remplacé par xxx) et si cela répond, envoi la commande: "echo $i"
Vu que j'ai mis un "NARGS=1" au début, cela devrait envoyer "echo TATA" mais via la crontab, cela ne renvoi que "echo"
j'ai fouillé un peu pour trouver une explication, et à priori cela viendrait de la variable d'environnement. j'ai donc indiqué /usr/sbin dans le $PATH puisque mon script toto.sh s'y trouve.
mais cela ne résoud rien :(
si quelqu'un avait une idée...
Merci :)
Merci pour vos réponses. alors, j'ai mis comme shebang : #!/bin/sh pour ce qui est de la commande echo dans sbin, heu.. c'est un exemple :p en fait la commande n'est pas un echo, mais un script sur la machine distante. j'ai aussi essayé avec maFunc $i cela ne change rien :( je seche... ha vi, j'ai mis aussi le chemin complet pour nc mais ca change rien ;)
threepwood
totti10 a écrit le 18/03/2010 à 11h39 :
On 18 mar, 08:43, moi-meme wrote:
Le Wed, 17 Mar 2010 18:18:26 +0000, Vincent Riquer a écrit :
il se peut entant que tache cron ton script n'a pas le droit d'utiliser la sortie standard il te conseille de rediriger l'affichage de l'echo
je pense aussi que c'est un probleme de ce genre, apres avoir fait quelques recherches, mais la ca dépasse mes competences... comment faire ? Merci
Vincent Riquer
threepwood wrote:
alors, j'ai mis comme shebang : #!/bin/sh
Qui est ? sh ? bash ? dash ? autre ? (ls -l /bin/sh)
pour ce qui est de la commande echo dans sbin, heu.. c'est un exemple :p en fait la commande n'est pas un echo, mais un script sur la machine distante. j'ai aussi essayé avec maFunc $i
$i ou $1 ? Si tu as mis $i, c'est normal que ça ne change rien, du moins d'après le morceau que tu montres.
threepwood wrote:
alors, j'ai mis comme shebang : #!/bin/sh
Qui est ? sh ? bash ? dash ? autre ? (ls -l /bin/sh)
pour ce qui est de la commande echo dans sbin, heu.. c'est un exemple :p
en fait la commande n'est pas un echo, mais un script sur la machine distante.
j'ai aussi essayé avec maFunc $i
$i ou $1 ? Si tu as mis $i, c'est normal que ça ne change rien, du moins
d'après le morceau que tu montres.
Qui est ? sh ? bash ? dash ? autre ? (ls -l /bin/sh)
pour ce qui est de la commande echo dans sbin, heu.. c'est un exemple :p en fait la commande n'est pas un echo, mais un script sur la machine distante. j'ai aussi essayé avec maFunc $i
$i ou $1 ? Si tu as mis $i, c'est normal que ça ne change rien, du moins d'après le morceau que tu montres.
moi-meme
Le Wed, 17 Mar 2010 10:33:01 -0500, threepwood a écrit :
quand j'execute la commande à la main, cela fonctionne, par contre dés qu'elle est en crontab, cela ne fonctionne plus.
et si tu inclus le traitement de ta fonction directement en ligne. c'est à dire que tu supprimes l'appel à ta fonction en mettant le code à la place directe ?
Le Wed, 17 Mar 2010 10:33:01 -0500, threepwood a écrit :
quand j'execute la commande à la main, cela fonctionne, par contre dés
qu'elle est en crontab, cela ne fonctionne plus.
et si tu inclus le traitement de ta fonction directement en ligne.
c'est à dire que tu supprimes l'appel à ta fonction en mettant le code à
la place directe ?
Le Wed, 17 Mar 2010 10:33:01 -0500, threepwood a écrit :
quand j'execute la commande à la main, cela fonctionne, par contre dés qu'elle est en crontab, cela ne fonctionne plus.
et si tu inclus le traitement de ta fonction directement en ligne. c'est à dire que tu supprimes l'appel à ta fonction en mettant le code à la place directe ?