Hallo, ich möchte per SSH auf einem anderen Rechner zuerst ein Kommando ausführen, dann ein Tar-File auspacken und am Schluß noch ein Kommando ausführen. Soweit ist es einfach. Doch ich will das Ganze in einem Strom übermitteln, also zuerst die Kommandofolge und dann das Tar-File. (cat <<CMD kommando1 (cd blub && tar xf -) kommando2 CMD tar cf - .) | ssh remote Ich weiß, daß ich SSH das Kommando als Parameter übergeben kann. Die beiden Teile kommando1 und kommando2 können aber recht länglich werden. Außerdem möchte ich Probleme mit dem Quoting umgehen. Es gibt noch eine Schwierigkeit. remote ist eine alte Solaris-Kiste, also GANZ primitive Shell, nix Bash. Geht sowas? Torsten
Hallo, Torsten Foertsch <torsten.foertsch@gmx.net> wrote on 05.06.2007 19:26:11:
Hallo,
ich möchte per SSH auf einem anderen Rechner zuerst ein Kommando ausführen, dann ein Tar-File auspacken und am Schluß noch ein Kommando ausführen.
Soweit ist es einfach. Doch ich will das Ganze in einem Strom übermitteln, also zuerst die Kommandofolge und dann das Tar-File.
(cat <<CMD kommando1 (cd blub && tar xf -) kommando2 CMD tar cf - .) | ssh remote
habe sowas aehnliches zwischen einer Linux Kiste und einer HPUX Kiste am Laufen. Auf der Linux Kiste fuehre ich folgendes aus: cd $FTDIR && echo "/user/idsdb/web/export/was-getan-werden-soll.sh ${PARAMETER}" > doit.sh; cd $FTDIR && gtar cf /tmp/$$.tar $VERZEICHNIS doit.sh && cat /tmp/$$.tar | ssh -i /home/schlue/.ssh/SPECIALKEY user@host; rm -f /tmp/$$.tar;" Hierbei werden die auszufuehrenden Kommandos in doit.sh abgelegt. Im tar File abgelegt und per Stream ueber SSH kopiert. Auf der Empfangsseite ist fuer den public Key ein Kommando abgelegt: command="( cd /user/idsdb/web/export/FINAL && /user/idsdb/bin/gtar xfv - ); sh -x /user/idsdb/web/export/FINAL/doit.sh; rm -f /user/idsdb/web/export/FINAL/doit.sh" Hierbei wird das tar File ausgepackt und anschliessend die in doit.sh uebermittelten Kommandos ausgefuehrt. Ob mich das nun allerdings zu einem Experten macht ... ? have fun, -- Wolfgang Schlüschen -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
Torsten Foertsch
-
Wolfgang Schlueschen