Remote shell

Princi -  
 galoch -
Bonjour a tous,
j'essaie de faire des operations sur des machines distantes. Basiquement,
j'ai mis en cron une application qui:
- copie un fichier vers une autre machine a
- ce fichier sera un input pour un shell sur a
- le resultat sera capture en local
Quand je lance le shell en ligne de commande, ça marche parfaitement, mais des que je le met en cron, ca ne marche pas.
Des idees sur le sujet?
Merci d'avance.

PS:les serveurs sont des serveurs SUN et sont en solaris
A voir également:

8 réponses

dubcek Messages postés 19021 Statut Contributeur 5 637
 
hello
cron n'utilise pas le PATH défini dans le ou les profile.
il n'y a pas de login, c'est à l'utilisateur de définir le bon environnement dans le crontab.
ou appeller le profile dans le script : pour sh :
. $HOME/.profile
0
Princi
 
j'avoue que j'ai un peu de mal a comprendre.
En fait j'ai deja renseigner tous les PATH en chemin absolu, j'utilise rsh.
Merci de ton aide.
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
quelle est l'erreur ?
0
Princi
 
excuses pour le temps, j'ai eu du mal a me connecter aujourd'hui.
concernant le message d'erreur, je n'en recoit aucun
0

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

Posez votre question
dubcek Messages postés 19021 Statut Contributeur 5 637
 
montre le script, le cron
0
Princi
 
slt,
j'ai poste le script et le cron.
0
Princi
 
voici le cron
48 18 * * * /home/omuser/princi/faf/getfaf.sh %2B2389123264

et voici le script


daty=`date +'%Y%m%d'`;
daty1=`date +'%Y-%m-%d %H:%M:%S'`;

cd /<local_directory>/
laogy=faflog.$daty


filei=makafaf_$RANDOM;
filei1=1$filei;

listef=2$filei;
tmpf=3$filei;

echo $1 > $filei
awk '{print substr($1,7,7)}' $filei > $filei1


rcp $filei1 <rserveur>:/<full_path>/$filei1 2>$tmpf
rsh <rserveur> /<full_path>/getfaf.sh $filei1 > $listef 2>$tmpf

faf=`grep FAF_N $listef|awk -F">" '{print substr($2,4,7)}'`;
sender=238`cat $filei1`

if [ "$faf" == "" ] ;then
echo Il n.y a pas d info correspondante
else
echo Les info requises sont : $faf
fi

echo $daty1 `cat $filei1` get >> $laogy
####### remove temporary files #############

rsh <rserveur> rm /<full_path>/$filei1 2>$tmpf

rm $filei1 $filei $listef $tmpf
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
commencer le script par #!/bin/ksh
le % dans la ligne du cron est traité comme un newline (man crontab) mettre \%
0
Princi
 
OK, je vais modifier et je te tiens au courant
0
Princi
 
ca marche, merci beaucoup...
0
galoch
 
Bonjour,

Pour effectuer des operations sur des machines distantes, il y a un logiciel open source nommé KontrolPack. IL permet d'éxécuter des commandes sur la majorité des systèmes d'exploitations connu. Ca pourra sans doute être utile surtout pour un réseau local. Chez moi, ca marche très bien.

http://kontrolpack.sourceforge.net/
0