Zeitgesteuertes Konsolen-Script

Alle Fragen rund Antworten rund um die ACMP Client Commands und Container
Antworten
BRW
Beiträge: 11
Registriert: Di Apr 15, 2014 1:29 pm

Hallo zusammen,

wir haben ein Client-Command erstellt, welches Daten aus einer Oracle-DB ausliest und automatisch in Benutzerdefinierte Felder der ACMP DB schreibt. Das gesamte Client-Command besteht nur aus dem Consolen-Teil. Mit Absicht, damit es auch für Clients läuft, wenn diese nicht (nie oder nicht dauerhaft) in Kontakt zum Server stehen.

Das Script an sich funktioniert einwandfrei. Leider ist es jetzt so, dass ich feststellen musste, dass der Consolen-teil bei zeitgesteuerter Ausführung über einen Container, komplett ignoriert wird.

Wie kann ich ein Consolen-Script automatisch für alle Clients ausführen lassen (Iterate selected Clients)?
Im Prinzip ist es mir egal, ob das über einen Container läuft, oder cmd oder geplante Tasks oder sonst wie läuft. Hauptsache es geht zeitgesteuert oder ereignisgesteuert automatisch.

Wäre super, wenn mir da jemand einen Denkanstoß geben könnte.

Bis dahin
Gruß Matthias
twahl
Beiträge: 366
Registriert: Mo Mär 03, 2014 11:21 am

Hallo,

eine zeitgesteuerte Ausführung eines Consolen Scriptes ist nicht möglich. Das Consolen Script wird nur von der Console, bei Ausführung über die Console, ausgeführt - Also bei runCC, Commandlauncher und Container Ausführungen garnicht.
Sollen hier denn alle oder nur bestimmte Clients durchlaufen werden? Man könnte es mit einem Client Script lösen, darin über eine SQL Abfrage ( z.B. select clientid from clt_clients ) die clientids ermitteln und diese in dem Store Value on Server Baustein nutzen. Dazu muss der Store Value on Server Baustein aus dem Consolen Script kopiert und im Client Script eingefügt werden. Um das Command zeitgesteuert auszuführen, benötigt man natürlich einen Client der nach Möglichkeit immer eingeschaltet ist, wenn das Command laufen soll. Hier eignet sich z.B. der ACMP Server oder ein anderes Server System.
Mit freundlichen Grüßen,

Tobias Wahl
Aagon GmbH
Dennis Koch
Beiträge: 501
Registriert: Di Nov 20, 2012 4:03 pm

Hallo Matthias,

im Anhang habe ich Ihnen ein ClientCommand zur Verfügung gestellt. Dort werden mit einer SQL-Abfrage die ClientIDs von Clients ermittelt welche in einen entsprechenden Container liegen. Dieses ClientCommand muss ein Client ausführen welcher aber immer läuft, wie z.B. der ACMP Server. Da der Baustein StoreValue on Server im Clientanteil vom ClientCommand immer die aktuelle ClientID nutzt wurde hier ein Trick verwendet. Ich habe den Baustein aus dem Consolenanteil in das Clientscript kopiert. Dort kann man eine ClientID als Variable übergeben.

Wie im Bild ersichtlich ist im Container "Agent welcher das Commands ausführt" der Client welcher das eigentlich ClientCommand ausführt. Im Container "Container" sind dann alle Clients welche einen Wert gesetzt bekommen sollen. Dieser wird im SQL Script abgefragt.

ScreenShot165.jpg
ScreenShot165.jpg (11.71 KiB) 2633 mal betrachtet
Dateianhänge
ScreenShot165.jpg
ScreenShot165.jpg (11.71 KiB) 2637 mal betrachtet
Store Value über Container.zip
(4.81 KiB) 126-mal heruntergeladen
Mit freundlichen Grüßen / Best regards

Dennis Koch
Aagon GmbH
BRW
Beiträge: 11
Registriert: Di Apr 15, 2014 1:29 pm

Einen wunderschönen guten Morgen und herzlichen Dank!
Klappt jetzt so, dass ein Client es für alle Clients ausführt. Das ganze automatisiert laufen zu lassen, sollte dann jetzt kein Problem mehr sein.

Beste Grüße
Matthias
Antworten