Ich muss Folgendes mit einem Skript emulieren, das von einem Webdienst aufgerufen wird, der von einem Linux-Server ausgeführt wird:
- Greifen Sie über SSH auf den Remote-AIX-Server zu
- Melden Sie sich bei einer Intersystems Cache-Instanz an (wenn dies nicht bekannt ist, tun Sie so, als würden Sie eine interaktive Python- oder Ruby [irb] -Umgebung laden).
- Befehle ausführen
- Führen Sie abhängig von der Ausgabe der vorherigen Befehle weitere Befehle aus
- Alle Ein- und Ausgaben in dieser Umgebung protokollieren
Dies ist in C # mit der SSH.NET-Bibliothek ziemlich trivial. Öffnen Sie einen Shellstream für den Remote-Host, fügen Sie einen StreamReader und StreamWriter hinzu, senden Sie dann eine Eingabe über StreamWriter an die SSH-Verbindung und lesen Sie die Ausgabe über StreamReader aus.
Wie soll ich das auf einem Linux-Server mit ssh machen? Ich experimentiere mit dem Bildschirm, aber er scheint eher für die interaktive Verwendung durch Menschen als für Skripte konzipiert zu sein, und ich frage mich, ob ich den falschen Baum bellte.
Ich habe keine Kontrolle darüber, was auf dem AIX-Server installiert ist. Möglicherweise kann ich dort Dinge installieren lassen, aber es gibt keine Garantien.
Viel später bearbeiten: Mögliche Lösungen sind pexpect / pxssh (Python), paramiko (auch Python)