Hallo, Liste!
Ich werde langsam verrückt...
Ich habe ein Dokument mit einigen Makros, das ich per CronJob starten soll.
Das ist was ich im Crontab geschrieben habe:
0 1 * * 1-5 /opt/openoffice.org3/program/scalc -headless -norestore /opt/reporting/Reporting/doReports.ods "macro://doReports/report.Main.createAllReportsFromScriptAndThenCloseAll()"
Wenn ich per Shell (auch ohne X-Weiterleitung!!) starte, alles funktioniert problemlos. Per Cron geht es einfach nicht. Ich sehe mit einem ps axuwf folgendes:
1018 20040 0.0 0.0 5004 1492 ? Ss 10:31 0:00 _ /bin/sh /opt/openoffice.org3/program/soffice -calc -headless -norestore /opt/reporting/Reporting/doReports.ods macro://doReports/report.Main.createAllReportsFromScriptAndThenCloseAll() 1018 20059 8.6 4.1 195236 85652 ? Sl 10:31 0:03 _ /opt/openoffice.org3/program/soffice.bin -calc -headless -norestore /opt/reporting/Reporting/doReports.ods macro://doReports/report.Main.createAllReportsFromScriptAndThenCloseAll() 1018 20075 0.0 0.0 0 0 ? Z 10:31 0:00 _ [soffice.bin] <defunct>
Selbstverständlich, dieses "[soffice.bin] <defunct>" ist das Problem.
Ich kann aber wirklich nicht verstehen, WARUM dieses Prozess stirbt...
Kann jemand mir ein Tipp geben? Ich weiß wirklich nicht mehr, was ich machen kann...
Danke euch! Luca Bertoncello (lucabert@lucabert.de)
Hallo Luca,
Das ist was ich im Crontab geschrieben habe:
0 1 * * 1-5 /opt/openoffice.org3/program/scalc -headless -norestore /opt/reporting/Reporting/doReports.ods "macro://doReports/report.Main.createAllReportsFromScriptAndThenCloseAll ()"
Wenn ich per Shell (auch ohne X-Weiterleitung!!) starte, alles funktioniert problemlos. Per Cron geht es einfach nicht.
Schuss ins Blaue: Der Klassiker sind Umgebungsvariablen (v.a. $PATH). Als User sind diese natürlich gesetzt, der Cron setzt aus Sicherheitsgründen aber so wenige wie nur irgend möglich. Hast du mal probiert, den OOo-Aufruf in der interaktiven Shell als cron-User mit nahezu leerem Environment aufzurufen (um zu ermitteln, was der Cron setzt und was nicht einfach einen cronjob "/usr/bin/env
/tmp/irgendwo" einrichten).
Ansonsten wäre noch denkbar (wenngleich braindead), dass OOo trotz -headless ein interaktives Term haben will und weil entsprechende Funktionen unerwartet nicht erfolgreich sind steckenbliebt. So etwas kann man evtl. mittels screen beheben.
Viele Grüße Fabian
Fabian Hänsel fabtagon@gmx.de schrieb:
Schuss ins Blaue: Der Klassiker sind Umgebungsvariablen (v.a. $PATH). Als User sind diese natürlich gesetzt, der Cron setzt aus Sicherheitsgründen aber so wenige wie nur irgend möglich. Hast du mal probiert, den OOo-Aufruf in der interaktiven Shell als cron-User mit nahezu leerem Environment aufzurufen (um zu ermitteln, was der Cron setzt und was nicht einfach einen cronjob "/usr/bin/env
/tmp/irgendwo" einrichten).
Ja, genau das war das Problem...
Ich habe heute Vormittag vier Stunden geflucht, aber ich habe genau gefunden, wie es geht...
Ich habe alle möglichen ENV-Variabel des Nutzers in einem Skript gepackt und OpenOffice gestartet. Ging.
Dann, nach und nach, habe ich die ENV-Variabel gelöscht und nur die gelassen, ohne den OpenOffice nicht geht...
Ich habe leider die Liste nicht zu Hause, da alles auf Arbeit ist (und bis nächsten Jahr werde ich nicht wieder ins Büro gehen).
Wenn ich mir erinnern kann, werde ich nächstes Jahr noch eine E-Mail schreiben, mit der Liste der Variabel, die ich gelassen habe.
Grüße Luca Bertoncello (lucabert@lucabert.de)
lug-dd@mailman.schlittermann.de