Mailinglist Archive: opensuse-de (4731 mails)
| < Previous | Next > |
Re: Probleme einen java-Befehl über die crontab-Datei auszu führen
- From: Jan.Trippler@xxxxxxxxxxx (Jan Trippler)
- Date: Fri, 13 Jul 2001 14:42:38 +0200
- Message-id: <20010713144238.A25647@xxxxxxxxxxxxxx>
On Fre, 13 Jul 2001 at 13:19 (+0200), Falk Sauer wrote:
> On Fri, Jul 13, 2001 at 12:53:19PM +0200, Ralf Polakowski wrote:
> >
> > Wenn ich die Shell-Scripte dann von der crontab ausführen lasen will,
> > findet das startenden SHELL-Script java nicht mehr.
>
> crontab Aufrufe landen in einer ziemlich nackigen shell, dh. es
> fehlen viele Variablen die in /etc/profile und in anderen
> startscripten beim normalen user login gesetzt werden.
Ja.
> Der einfachste Weg ist in der Crontab diese fehlenden Variablen und
> möglichst nur diese zu setzten:
>
> SHELL=/bin/sh # oder was auch immer du als shell verwenden willst
> PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
> MAILTO=irgendnearmesaudiedenmistauchliest@xxxxxxxxxxxx
Jein. Wenn man das so macht, muss man dafür sorgen, dass die
gesetzten Variablen für _alle_ crontab-Aufrufe passen oder dies in
den einzelnen Scripts immer wieder überschreiben.
> #
> #
> 0 1 * * * . /irgendwo/envscript ; /tu/was/immer/du/willst/nachts/um/eins
>
> oben die 3 Sachen kann cron selber auswerten und weiter geben,
> alles andere muss im aufruf selber gesourced werden, dafür ist
> dieser Punkt vor /irgendwo/envscript verantwortlich.
Nein. crontabs können jede beliebige Variable mit einem sog.
environment setting setzen, das ist nicht auf die o. g. drei
beschränkt (gerade getestet).
Quelle: man 5 crontab
> in /irgendwo/envscript schreibst du alle sachen rein die für dein
> environment nötig sind, was das sein kann siehe /etc/profile oder
> ~.bashrc oder was auch immer du da einsetzt. Ein set auf der
> kommandozeile hilft meist auch schon weiter.
Man kann die Variablen allerdings auch im Script selber setzen, dann
braucht man kein envscript.
Jan
> On Fri, Jul 13, 2001 at 12:53:19PM +0200, Ralf Polakowski wrote:
> >
> > Wenn ich die Shell-Scripte dann von der crontab ausführen lasen will,
> > findet das startenden SHELL-Script java nicht mehr.
>
> crontab Aufrufe landen in einer ziemlich nackigen shell, dh. es
> fehlen viele Variablen die in /etc/profile und in anderen
> startscripten beim normalen user login gesetzt werden.
Ja.
> Der einfachste Weg ist in der Crontab diese fehlenden Variablen und
> möglichst nur diese zu setzten:
>
> SHELL=/bin/sh # oder was auch immer du als shell verwenden willst
> PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
> MAILTO=irgendnearmesaudiedenmistauchliest@xxxxxxxxxxxx
Jein. Wenn man das so macht, muss man dafür sorgen, dass die
gesetzten Variablen für _alle_ crontab-Aufrufe passen oder dies in
den einzelnen Scripts immer wieder überschreiben.
> #
> #
> 0 1 * * * . /irgendwo/envscript ; /tu/was/immer/du/willst/nachts/um/eins
>
> oben die 3 Sachen kann cron selber auswerten und weiter geben,
> alles andere muss im aufruf selber gesourced werden, dafür ist
> dieser Punkt vor /irgendwo/envscript verantwortlich.
Nein. crontabs können jede beliebige Variable mit einem sog.
environment setting setzen, das ist nicht auf die o. g. drei
beschränkt (gerade getestet).
Quelle: man 5 crontab
> in /irgendwo/envscript schreibst du alle sachen rein die für dein
> environment nötig sind, was das sein kann siehe /etc/profile oder
> ~.bashrc oder was auch immer du da einsetzt. Ein set auf der
> kommandozeile hilft meist auch schon weiter.
Man kann die Variablen allerdings auch im Script selber setzen, dann
braucht man kein envscript.
Jan
| < Previous | Next > |