LÖSUNG GEFUNDEN!

* Roman BEIGELBECK <[EMAIL PROTECTED]> [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: [EMAIL PROTECTED] ; 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 [EMAIL PROTECTED] die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: [EMAIL PROTECTED]
-----------------------------------------------------------

739 eingetragene Mitglieder in dieser Liste.

Antwort per Email an