Script per SSH auf anderem Rechner starten?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ah966
Beiträge: 62
Registriert: 20.01.2008 19:05:29

Script per SSH auf anderem Rechner starten?

Beitrag von ah966 » 15.12.2008 16:28:37

Hallo!

Ich habe hier mehrere Rechner, auf denen von einem Rechner aus zugegriffen werden soll.

Per cronjob möchte ich auf PC3 ein Script starten, daß sich per ssh auf PC2 einloggt und dann z.B. per "find"-Befehl eine Dateiliste von bestimmten Dateien auf PC2 ausliest und ggf. in eine Datei speichert.

Ich kann mich per ssh auf den Servern einloggen, eine Passwort-Abfrage erfolgt nicht, da die sich gegenseitig vertrauen.

Momentan läuft das Script nur bis zum Einloggen per ssh, dann ist Sense. Es wartet wohl bis man sich wieder ausloggt und läuft dann erst weiter (was mir ja aber nix bringt).

Das Ganze soll etwa so ablaufen:

Code: Alles auswählen

#!/bin/bash
ssh 123.123.123.10
find /TESTVERZEICHNIS/ -iname Dateiname > dateiliste.txt
logout
exit
Aber so funktionierts leider nicht...

Hat jemand eine Idee/Tipp für mich?
Gruß,
Andreas

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Script per SSH auf anderem Rechner starten?

Beitrag von novalix » 15.12.2008 17:31:34

Hi,
in Deinem Beispielskript wird die Dateiliste auf dem PC2 erstellt. Wenn das so sein soll, warum soll die Aktion dann von aussen getriggert werden. Es reicht doch aus, das Skript lokal per cronjob zu starten.
Falls die Dateiliste jedoch zu PC3 geschickt werden soll, wäre es ebenfalls sinnvoll, diese zunächst lokal per cronjob zu erstellen und danach per scp bzw sftp auf PC2 zu schieben.

Groetjes, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Script per SSH auf anderem Rechner starten?

Beitrag von habakug » 15.12.2008 17:46:12

Hallo!

Mach es doch so:

Code: Alles auswählen

#!/bin/bash
ssh 123.123.123.10 find /TESTVERZEICHNIS/ -iname Dateiname > dateiliste.txt
exit
Dann hast du die "dateiliste.txt" auf dem Rechner von dem du die ssh-Verbindung gestartet hast.

Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

ah966
Beiträge: 62
Registriert: 20.01.2008 19:05:29

Re: Script per SSH auf anderem Rechner starten?

Beitrag von ah966 » 16.12.2008 16:21:53

Hallo!

Vielen Dank für Eure Antworten.

Habe es nun anders gelöst:
Es ging hier um die Ermittlung der vorhandenen VMs auf einem Rechner.
Da sich das Inventar ja aber nicht soo oft ändert, habe ich die Liste von Hand erstellt.
Außerdem will der VMware Server 2.0 zum Starten und Stoppen einer VM den Datastore und die .vmx-Datei wissen, sowie den Host (auch wenn's lokal läuft). Nur mit dem Pfad zur .vmx-Datei wäre die autom. Erstellung interessant gewesen.
Also führe ich händisch nun die Liste mit den Daten und lasse durch ein Script die Einträge "abgrasen" um somit jede VM zu rsyncen...

@Habakug:
Den Befehl hebe ich mir auf jeden Fall mal auf, sowas werde ich bestimmt noch häufiger brauchen...
Gruß,
Andreas

Antworten