geloescht_KaelteContainer Geschrieben 10. Dezember 2008 Teilen Geschrieben 10. Dezember 2008 Hallo Kollegen, ich hab ein paar Fragen zum Thema "Jobsteuerung". Zur Zeit werden unsere Programme von einem cronjob aufgerufen. Es wird aber immer wieder der Wunsch geäussert noch weitere Kriterien zur Jobsteuerung zu haben als nur die Zeit. Beispielsweise "Programm A soll nur laufen wenn Programm B erfolgreich beendet wurde". (die Programme schreiben einen Returncode in eine Datenbank) Gibt es da ein Programm zur Jobsteuerung was auf einer AIX Maschine läuft? Wenn ja, welche Erfahrungen habt ihr mit welchem Programm gemacht? Kann man das ganze vielleicht doch als Shellscript lösen? ich hab über google "Bagjas" gefunden, denke aber nicht, dass das auf meine/unsere Bedürfnisse passt. Für mich klingt das so als wenn das Programm nicht auf der eigenen Maschine läuft... o.O gibt es eigentlich für kommerzielle Rechner kostenlose Software? (wobei kostenlos wohl nicht zwingend ist, aber erstmal ne Demoversion zum Testen wäre vermutlich schon nicht schlecht...) Was braucht ihr noch für Informationen? Ich bin leider auf dem Gebiet UNIX/AIX noch recht neu, kann also sein das ich was wichtiges übersehen hab... Bin dankbar für jeden Tip. Grüße Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_KaelteContainer Geschrieben 10. Dezember 2008 Autor Teilen Geschrieben 10. Dezember 2008 ich hätte gern ein "Strg + F" für Bücher! ich lese mich grad durch ein UNIX Handbuch. Da steht was von Ablauffolgen und Bedingten Ausführungen. [B]if[/B] programm_A [B]then[/B] programm_B [B]fi[/B] Hätte mich auch ehrlich gesagt etwas gewundert wenn nicht, aber ich hab gedacht die "alten Hasen" wissen schon was sie tun... programm_B wird ausgeführt wenn programm_A den Rückgabewert (exit code) 0 liefert. Was ich grad noch nicht im Handbuch gefunden hab: woher kommt der exit code? Ich meine woher liest die Shell/das Skript/whatever diesen Code, bzw wohin/wie muss ich mit einem COBOL Programm den Code übergeben? nunja, derjenige den ich hier im Haus fragen könnte ist heute nicht mehr da. Habt ihr eine Idee warum die Programme direkt mittels cronjob aufgerufen werden und nicht ein Ablaufskript welches dann die einzelnen Programme startet? Könnte das ein "Das haben wir schon immer so gemacht" Grund sein? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 10. Dezember 2008 Teilen Geschrieben 10. Dezember 2008 Ich denke das läuft über die Variable "$?", die den Rückgabewert des zuletzte aufgeführten Programms beinhaltet. Wobei ich nicht weiß, ob es die Variable "$?" auch unter AIX gibt. Beispiel: #!/bin/sh ./call_A.sh if [ $? = 0 ]; then echo Programm_B ./call_B.sh fi Den Cron-Daemon setzt man ja immer ein, wenn man etwas zu einer bestimmten Zeit und in einem bestimmtem Intervall aufrufen möchte. Ich stell mir das schwierig vor, sowas in einem Skript zu realisieren, denn dafür gibt es ja den crond. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_KaelteContainer Geschrieben 10. Dezember 2008 Autor Teilen Geschrieben 10. Dezember 2008 ich bin noch nicht lange hier, darum hab ich noch nicht ganz raus wie hier was warum und wieso gemacht wird! die Programme sollen ja immer zu bestimmten Zeiten laufen, darum mit cron. Zusätzlich würde man aber gern noch eine Bedingung einbauen, wenn Programm A nicht erfolgreich war brauch Programm B im Anschluß auch nicht laufen... es hat sich anscheinend nur nie jemand darum gekümmert... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 11. Dezember 2008 Teilen Geschrieben 11. Dezember 2008 die Programme sollen ja immer zu bestimmten Zeiten laufen, darum mit cron. Zusätzlich würde man aber gern noch eine Bedingung einbauen, wenn Programm A nicht erfolgreich war brauch Programm B im Anschluß auch nicht laufen... Du startest via Cron ein Skript, dass bspw. die o.g. IF-Bedingung beinhaltet. Dadurch kannst du dann eine Start-Abhängigkeit zwischen den Skripten aufbauen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_KaelteContainer Geschrieben 11. Dezember 2008 Autor Teilen Geschrieben 11. Dezember 2008 ja, das war das was ich vorhin in ner Teambesprechung vorgeschlagen hab. Warum da vorher noch keiner drauf gekommen ist enzieht sich meiner Kenntnis. Wobei die sonstigen Wünsche der Arbeitskollegen sich eher nach nem Monitoring-Tool anhören... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
charmanta Geschrieben 13. Dezember 2008 Teilen Geschrieben 13. Dezember 2008 Klar gibts "$?" auch unter AIX. Das ist ne Variable der Shell, nicht des OS Wird aber sicher nicht ganz ohne sein, einen Exit-Code aus einem Cobolprogramm heraus zu übergeben. Grundsätzlich ist es so, daß JEDES Programm einen Exitcode per Default hinterlässt, wenn es unsauber terminiert. Saubere Beendigungen sollen immer Wert 0 zurückgeben. In Scripten kann man sowas mit "exit <wert>" erzwingen. Unter Cobol funktioniert dies über ein spezielles Register, schau mal hier: Help - IBM AIX Compilers Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.