Aide sur un shell

Résolu
dino -  
 dino -
Bonjour,

Je voidrais ecrire un peitit script qui se lance a partir d'une machine A et se connect sur un liste de machine B,C,D,...et laanc a chaque fois un script ou une commande ,mais ca coinse ,il lance ma camande en local


time=`date +%d%m`
LOG_FILE=tarce_$time

list.txt=B,C,D



liste="$(cat /list.txt)"
for i in $liste
do


rsh $i 'ls -ltr'>>tarce_$time


done



Merci pour votre aide

14 réponses

doudou
 
Une manière comme tant d'autres ...

Ici, le script doit exister sur la machine distante...

echo "Entrez le nom du site : \c"
read sit
echo "Entrez le nom de connexion : \c"
read con
echo "Entrez le path complet du fichier a executer: \c"
read pat
rshell $sit -l $con "$pat"

Tu mets çà dans ta boucle, tu adaptes rsh / rshell en fonction de ton shell...
pareil pour récupérer les résultats sur la machine locale...
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello

list.txt="B C D"
for i in $list.txt
do
0
dino
 
Bonjour,

Merci doudou,la solution de dubcek me parait plus simple,mais c'est ce que j'ai essayer de faire :

liste="$(cat /list.txt)"
for i in $liste
do

le pb c'est que macommande simple "ls -ltr" passe en local ,pas sur la machine distante.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
que contient list.txt ?
0
dino
 
le nom de deux machines.A noter qye je peux faire un rsh et me connecter sans pb avec user root sur le deux a partir de ma machine en locale.
0

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

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
les nom sont séparés par des espaces ?
essaye

rsh $i 'ls -ltr'>>tarce_$time < /dev/null
0
dino
 
J'ai essayer de séparer les deux noms par un vide NOK, par un ";" NOK :mon "ls -ltr" passe tje en local et non sur la machines distante
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
liste="$(cat /list.txt)"
for i in $liste
do

le séparateur DOIT être un espace ou tab
0
dino
 
je suis d'accord avec toi mais ,encore une fois j'ai essayer un vide ,mais mon "ls -ltr" passe ne local.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut vous tous,

Un truc me turlupine ;-\
list.txt=B,C,D     # <<< variable

liste="$(cat /list.txt)"     # <<< lecture d'un fichier à la racine !!!
for i in $liste
do 
Il n'y aurait pas comme un os ?
0
dino
 
j'ai modier le chemin et mis /TOTO/list.txt ,mais est ce vraiment cela le pb ? si oui en quoi et comment le corrriger ?

Merci.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Je n'en sais rien, par contre est-ce que le fichier existe ?
Si oui, alors pourquoi déclarer une variable ?
Si non, alors c'est la variable qu'il faut lire et dans ce cas c'est la commande "echo" et non "cat" !
0
dino
 
Bonjour,

st-ce que le fichier existe ?....>oui heuresement !
Si oui, alors pourquoi déclarer une variable ?....>la variable est le contenue de mon fichier qui est une liste de nom de machine
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
la variable est le contenue de mon fichier qui est une liste de nom de machine
Elle sert à quoi alors ? A rien ?
0
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
Peux-tu nous donner le resultat des commandes cat -A /TOTO/list.txt et file /TOTO/list.txt ?
0
dino > asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention  
 
Bonjour,

voila :

cat -A /TOTO/list.txt
cat: Not a recognized flag: A
Usage: cat [-qrSsu] [-n[b]] [-v[et]] [-|File ...]

file /TOTO/list.txt
/TOTO/list.txt: commands text
0
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426 > dino
 
et cat -vet /TOTO/list.txt ?


PS: Sous quel os es-tu ?
0
dino > asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention  
 
cat -vet list.txt
A B C $

Mais le "more" me donne
more list.txt
A B C

le $ il fait koi la ?

pour la version :
uname -a
AIX 2 5 00527D0A4C00

Merci.
0
dino
 
OK ! tu me propose quoi ?
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
De répondre au message #15 ;-)
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
rsh A 'ls -lrt'
si le login sur A se fait comme utilisateur lambda et que le home directory de lambda en monté sur toutes les machines, ls -lrt retournera toujours la même chose
que répond
rsh A 'hostname'
0
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
Ha ouais, bien vu :)

Croisons les doigts pour que ce soit le cas...
0
dino
 
je sais pas ce qu'il fait ,la log ne dit rien :

+ rsh A ls -ltr
0