Re: [Debian] Cron & Shellscript - Fehler gefunden! -> Frage
LÖSUNG GEFUNDEN!
* Roman BEIGELBECK <debian@aon.at> [230301 23:32]:
> Ich bin gerade bei einem Freund und installiere bei Ihm einen
> Router unter Debian 2.2. Die Internetverbindung und sonstige
> Sachen funktionieren recht gut bis auf eines:
>
> Ich habe ein kleines Wiedereinwahlscript geschrieben, das wenn
> die Verbindung stirbt (kommt bei uns leider öfters vor - liegt am
> Provider) eine neue gestartet wird. Das Skript das so aus:
>
> #!/bin/sh
> # /usr/sbin/aoncron
> log=/var/log/aon.cron
>
> # ping nameserver
> if ping -c 2 195.3.96.67 &> /dev/null
> then
> echo "'date': ADSL is ip!" >> ${log}
> else
> echo "`date`: ADSL is down!" >> ${log}
> aon restart # restart connection
> fi
>
> Mein Eintrag in /etc/cron.d/aon schaut so aus:
>
> */4 * * * * root /usr/sbin/aoncron
>
> bzw. alternativ habe ich auch
>
> */4 * * * * root exec /usr/sbin/aoncron
>
> probiert. Statt dessen habe ich auch
>
> */4 * * * * root exec /usr/sbin/aoncron
>
> in /etc/crontab probiert. Aus irgendeinen Grund
> wird aber, wenn keine Verbindung besteht auch
> keine neue aufgebaut. Wenn ich allerdings das
> Skript /usr/sbin/aoncron händisch starte, dann
> funktioniert es (1), nur automatisch mit cron
> geht es nicht. :-(
Ich habe den Fehler gefunden, allerdings ergibt sich
daraus eine Frage:
Der Fehler liegt darin, daß cron scheinbar nicht die
PATH-Variable ausliest, d.h. wenn man
ping --> /bin/ping
date --> /bin/date
echo --> /bin/echo
aon --> /usr/sbin/aon
ersetzt, dann funktioniert es! Dieser Effekt tritt
sowohl bei einem reinen Debian Potato Rechner als auch bei
einem Debian Unstable Rechner auf. In /etc/crontab befinden
sich ja die Standardeinträge
25 6 * * * root test -e /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6 * * 7 root test -e /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6 1 * * root test -e /usr/sbin/anacron || run-parts --report /etc/cron.monthly
Die funktionieren scheinbar (?) auch NICHT, da cron nicht die
PATH-Variable, die hier mit
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/sbin/:/usr/sbin:/usr/games
gesetzt ist, ausliest. Erst wenn man
test --> /usr/bin/test
run-parts --> /bin/run-parts
ersetzt, funktioniert wieder alles. Handelt es sich hierbei um
einen bug oder ist das gewollt[1]? Was könnte man unternehmen, damit
cron die PATH-Variable verwendet?
MfG Roman!
[1] ... ist eher unwahrscheinlich
--
Roman BEIGELBECK
E-Mail: debian@aon.at ; Shots4WWW: http://members.a1.net/star88/
____________________________________________________________________
Das Freibad ist der Ort, wo man auch im Sommer frische Pilze kriegt.
--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------
739 eingetragene Mitglieder in dieser Liste.
Reply to: