køre script via SSH Commands
Hejsa Forum.
Jeg har et lille spørgsmål som jeg ikke lige selv kan finde det konkrete løsning til:
Jeg har en 4 maskiner på mit, som jeg gerne vil kunne opdatere samtidigt via et script
Derfor prøver jeg at sende kommandoer til en af maskinerne til de 3 andre - således de opdateres nogenlunde samtidigt.
Derfor sender jeg denne kommando
fra et script på Maskine A til MASKINE B. Men da jeg så skal vente på scriptet er kørt færdig inden den samme kommando køres til MASKINE C og MASKINE D.
Kan man ikke lave det på en måde - så den starter scriptet på Maskinen - reelt afslutter forbindelsen og går videre til næste maskinen. Da selve opdateringen af systemet kan tage op til 2timer ( compilering fra Source) så ville det reelt være skønt, hvis de kunne køre samtidigt - istedet for en efter en!
Har siddet og kæmpet en smule med det, men syntes ikke jeg kan få den til at køre videre, uden at selve Compilering af koden er overstået.
Normalt ville man kunne bruge & - efter kommandoen, men det virker ikke lige her !
Nogen der har nogle bud på dette!
Jeg har et lille spørgsmål som jeg ikke lige selv kan finde det konkrete løsning til:
Jeg har en 4 maskiner på mit, som jeg gerne vil kunne opdatere samtidigt via et script
Derfor prøver jeg at sende kommandoer til en af maskinerne til de 3 andre - således de opdateres nogenlunde samtidigt.
Derfor sender jeg denne kommando
ssh root@HOST_IP /scripts/update.sh
fra et script på Maskine A til MASKINE B. Men da jeg så skal vente på scriptet er kørt færdig inden den samme kommando køres til MASKINE C og MASKINE D.
Kan man ikke lave det på en måde - så den starter scriptet på Maskinen - reelt afslutter forbindelsen og går videre til næste maskinen. Da selve opdateringen af systemet kan tage op til 2timer ( compilering fra Source) så ville det reelt være skønt, hvis de kunne køre samtidigt - istedet for en efter en!
Har siddet og kæmpet en smule med det, men syntes ikke jeg kan få den til at køre videre, uden at selve Compilering af koden er overstået.
Normalt ville man kunne bruge & - efter kommandoen, men det virker ikke lige her !
Nogen der har nogle bud på dette!
Kommentarer4
Nogen der har nogle bud
man ssh
Kig på -f og -n optionerne. Jeg har ikke nærmere erfaring med dem, men spørg igen, hvis det ikke virker:)
Du vil måske have mere
Hvis du insisterer på at bruge ssh så er følgende et lille uddrag af et script jeg selv bruger til at sætte Gitosis:
ssh root@${server} << *
apt-get remove -y --purge gitosis
rm -rf /srv/gitosis
userdel git
rm -rf /home/git
apt-get install -y gitosis
adduser --system --shell /bin/sh --gecos 'Git' --group --disabled-password --home /home/git git
sudo -H -u git gitosis-init < admin-acc-ssh-key.pub.$$
userdel gitosis
rm admin-acc-ssh-key.pub.$$
exit
*
Som du kan se benyttes der et HERE-document (<< * ....... *) - når der logges ind køres kommandoerne en for en hver gang der kan gives input (se det som en kø af inputs hvor hver gang et program spørger om input så snuppes den næste linje).
Takker for
Benyttede mig af puppet!
# ssh root@10.0.0.2
root@10.0.0.2's password:
Tue Aug 21 11:31:15 CEST 2012
hvis du vil bruge det i et script laver du certifikat login...
glem mit svar ..
note to self: read before write.