[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: