Zum Hauptinhalt springen

Unix Shell

Aktuelle Konfiguration des Tasks `Unix Shell` im Workflow Designer
  • Aufgabentyp: ssh

Beschreibung

Der Task Unix Shell ist ein äußerst vielseitiges Systemadministrationskomponente, mit dem der Workflow Befehle auf einem entfernten Server oder auf der lokalen Maschine ausführen kann (Modus Standard).

Es ist ein umfassendes Werkzeug für die IT-Automatisierung, das das Ausführen von Skripten, das Verwalten von Dateien, die Überprüfung des Dienststatus, die Installation von Paketen und die Durchführung jeder anderen durch die Kommandozeile verfügbaren Operation ermöglicht.

Konfiguration

Die Konfiguration des Tasks definiert die Details der Verbindung (falls erforderlich) und den zu auszuführenden Befehl. Die Felder können manuell oder über Workflow-Parameter und -Variablen. ausgefüllt werden.

Verbindung zum Server

  • Verbindungsmodus: definiert die Quelle der Anmeldeinformationen und die Ausführungsart. Er kann drei Betriebsmodi annehmen:
  • Standard: Die Befehle werden auf der lokalen Maschine ausgeführt, ohne SSH-Verbindung.
  • Manuell: Ermöglicht die manuelle Eingabe der Verbindungsparameter.
  • Umgebung: verwendet eine vordefinierte Verbindungsumgebung. In diesem Modus wird ein Menü angezeigt, das die verfügbaren Verbindungen basierend auf der dem Workflow zugeordneten Rolle auflistet.
  • Weitere Felder (nur für entfernte Verbindung):
  • IP-Adresse: IP-Adresse des entfernten Servers.
  • Hostname: Hostname des entfernten Servers.
  • Benutzer: Benutzername, der zur Herstellung der SSH-Verbindung verwendet wird.
  • Passwort: Passwort, das mit dem Verbindungskonto verknüpft ist.
  • Port: Port, der für die SSH-Verbindung verwendet wird (der Standardwert ist 22).

Befehl als anderer Benutzer ausführen

Durch Aktivieren dieser Checkbox kann die Suche mit einem Benutzer durchgeführt werden, der nicht für die SSH-Verbindung verwendet wird.

  • Benutzer: Name des Benutzers, unter dem der Befehl ausgeführt wird.
  • Passwort: Passwort des Benutzers, der für die Ausführung des Befehls verwendet wird.

Befehltyp

Diese Option ermöglicht die Auswahl des Ausführungsmodus des Tasks:

  • Verbindung: In diesem Modus beschränkt sich der Task darauf, eine SSH-Verbindung mit dem entfernten Server herzustellen, um zu überprüfen, ob dieser erreichbar ist und ob die Anmeldeinformationen korrekt sind. Es wird kein Befehl ausgeführt. Dies ist nützlich als erster Schritt eines Workflows, um sicherzustellen, dass ein Server online ist, bevor fortgefahren wird.
  • Befehl: Dies ist ein Textfeld, in das ein oder mehrere Shell-Befehle eingegeben werden können, die auf dem entfernten Server ausgeführt werden sollen.

Ausgabe-Parameter

Sobald der externe Dienst auf den Aufruf geantwortet hat, stellt der Task die folgenden Ausgabe-Parameter bereit, die entscheidend für die Verarbeitung des Anforderungsergebnisses sind:

  • result: Enthält die Standardausgabe (stdout) der ausgeführten Befehle. Wenn die Befehle ein Textresultat erzeugen, wird dieses in diesem Parameter erfasst.
  • resultJson: stellt das Ergebnis der Task-Ausführung im JSON-Format dar und enthält allgemeine Informationen, Konfigurationen und Details zur Ausführung.
  • exitStatus: Gibt den Exit-Code des zuletzt ausgeführten Befehls zurück. Ein Wert von 0 deutet typischerweise auf eine erfolgreiche Ausführung hin, während Werte ungleich Null auf einen Fehler hinweisen.

Beispiel-Parameter resultJson

{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}

Wichtige Hinweise

  • Der für die Verbindung verwendete Benutzer (oder der "als ausgeführt"-Benutzer) muss über die erforderlichen Berechtigungen verfügen, um die angegebenen Befehle auszuführen.
  • Mehrere Befehle können mithilfe von Standard-Shell-Operatoren verknüpft werden, wie && (führt den zweiten Befehl nur aus, wenn der erste erfolgreich war) oder ; (führt den zweiten Befehl unabhängig vom Ergebnis des ersten aus).
  • Die Aufgabe stellt eine SSH-Verbindung mit dem Remote-Server her und führt die konfigurierten Befehle aus. Wenn die Authentifizierung über SSH-Schlüssel verwendet wird, muss der öffentliche Schlüssel auf dem Remote-Server registriert sein. Wenn die Option „Befehl als anderer Benutzer ausführen“ aktiviert ist, wird die Steuerung mit einem Benutzer ausgeführt, der von dem Haupt-SSH-Verbindungsbenutzer abweicht.