Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Fragensteller am 02.11.12 - 13:56:19

Titel: Methode Shell
Beitrag von: Fragensteller am 02.11.12 - 13:56:19
Ich habe zwar einiges gefunden aber leider nichts was mich weiter bringt.

Einer meiner Agenten auf einem Windows System muß ein BashScript auf einem Linuxserver anstoßen.

Das Verzeichnis ist als Netzwerklaufwerk eingebunden.

Wie aber bekomme ich nun die test.sh zum laufen?

Hier weigert er sich und meint es sei ein ungültiger Funktionsaufruf.

result = Shell("z:/test.sh", 1)
Titel: Re: Methode Shell
Beitrag von: umi am 02.11.12 - 14:00:53
Hallo

Vermutlich läuft dein Domino Server unter Windows unter dem Local System Account.
Mit diesem Account hast Du keinen Zugriff auf gar keine Neztlaufwerke. Entsprechende Beiträge und Lösungsvorschläge findest Du in diesem Forum.

Titel: Re: Methode Shell
Beitrag von: Peter Klett am 02.11.12 - 14:58:08
Du willst von einem Windowsserver eine unter Linux lauffähige Datei so auf dem Linuxserver aufrufen, dass Sie dort (also auf dem Linuxserver) läuft?

Dass der Funktionsaufruf ungültig ist, ist m.E. klar, weil Windows mit einer .sh-Datei nix anfangen kann, denn der Shell-Aufruf wird ja auf dem Windowsserver ausgeführt.

Du bräuchtest eine Routine, die auf dem Linux läuft und auf ein Ereignis wartet, um eine Aktion auszuführen. Das Ereignis könnte vom Windowsserver ausgelöst werden (z.B. eine Datei an einer von beiden Servern erreichbaren Stelle abzulegen).
Titel: Re: Methode Shell
Beitrag von: mezz am 02.11.12 - 15:59:37
Du könntest auch eine Verbindung per SSH aufbauen und darüber das Shellscript ausführen, dafür würde sich z.b. libssh2 anbieten, ich weiß jetzt gerade nicht ob es da ein Java Binding gibt aber man kann sich da auch mit einem Perl- oder Python Script behelfen.

http://www.libssh2.org/
http://pypi.python.org/pypi/ssh4py
https://metacpan.org/module/Net::SSH2