Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
Google Site



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 11-25-2005
Registrert bruker
 

Bli Dato: Aug 2004
Beliggenhet: stående på en søndag 25K, Wien
Innlegg: 78
Utføre kommandoer parallelt i en for loop?

Hei,

vennligst kan noen peke meg i riktig retning med et shell scripting problem.
Jeg ønsker å kjøre en kommando i en for loop og kommandoen skal startes ikke ett og ett betyr det for loop venter på avsluttingskoden, bør det være i gang parallelt.

Jeg har en vanlig tekstfil der et vertsnavn står på hver linje.

#! / bin / bash

file \u003d "/ tmp / serverlist"

på serveren i `cat $ file`; gjøre

ssh admin @ $ server "-kommandoen til å kjøre"

ferdig

Problemet er:

kommandoen jeg kjøre med SSH tar ca. 10 minutter å fullføre.

Jeg må kjøre kommandoen på 145 servere og jeg ikke ønsker å vente 10 minutter å gå til neste. Jeg vil kjøre det parallelt si på 10 servere på en gang.

Noen ideer? bare å putte en & etter SSH kommandoer didnt work, heller ikke med videre?


Takk for hjelpen igjen ...
Sponsede lenker
  #2 (permalink)  
Old 11-25-2005
Technorati Master
 

Bli Date: Mar 2005
Sted: leaf node i B + treet
Innlegg: 3006
Prøv dette,
med hver forekomst utfører kommandoen på 10 servere ...
ikke testet


Code:
>subscript.sh

#!/bin/bash

file=$1
for server in `cat $file` ; do
ssh admin@$server "command to run"
done
/bin/rm $1
exit 0


Code:
>mainscript.sh

#!/bin/bash

file="/tmp/serverlist"
TMPFILE="/tmp/"
cnt=0
filecnt=1
headcnt=10
tailcnt=`cat $file | wc -l`

while [ $cnt -lt $tailcnt ]
do
head -$headcnt $file | tail -10 > $TMPFILE$filecnt
subscript.sh $TMPFILE$filecnt &
cnt=$(($cnt + 10)
headcnt=$(($headcnt + 10))
filecnt=$(($filecnt + 1))
done

exit 0

  #3 (permalink)  
Old 11-25-2005
Bakunin bakunin is offline Forum Staff  
Bughunter Extraordinaire
 

Bli Dato: mai 2005
Beliggenhet: I venstre byte av / dev / kmem
Innlegg: 1660
ssh skal kunne fungere som bakgrunn prosessen. Kanskje hvis du vedlegge kommandoen du vil problemet i doble anførselstegn for å gjøre klart hvor det ender?


Code:
ssh $user@$host "$command" &

Et annet fikser hvis tastene ikke utvekslet ssh stopper en interative modus der vi ber om passord - virkelig dum programmering IMHO - så skriptet vil henge det på ubestemt spørre kanskje cron eller så på svar.

Bakunin

Sist endret av Bakunin; 11-25-2005 på 05:02..
  #4 (permalink)  
Old 11-27-2005
Just Ice's Avatar
Lysene på hjernen av.
 

Bli Date: Mar 2005
Bosted: foran datamaskinen min
Innlegg: 637
sette ssh kommandoen i en sub-shell i bakgrunnen ...


Code:
#!/bin/bash

file="/tmp/serverlist"

for server in `cat $file` ; do

(ssh admin@$server "command to run" < /dev/null &)

done

Sponsede lenker
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er Av


Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Execute DB2 kommandoer i UNIX rollthecoin AIX 3 04-26-2008 02:17
Lom ikke utføre kommandoer pasalagua Sun Solaris 6 01-25-2008 04:22
Hvordan utføre flere kommandoer via ssh srage Shell programmering og Skripting 9 01-05-2008 03:18
Execute Loop i Telnet Dastard Shell programmering og Skripting 2 07-24-2007 12:38
hvordan du utfører en stund sløyfe på 20 minutter? subhotech UNIX for Dummies Spørsmål og svar 6 07-05-2007 03:54



Alle klokkeslett er GMT -4. Nå er klokken 01:53.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2010. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0