PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Cron



sira
29.05.03, 14:34
Hallo,

ich hab folgendes Problem mit einem Cron Job.
Es soll alle 60 Minuten ein Script ausgeführt werden welches meine aktuelle (dynamische) IP an meinen DNS Server übermittelt.
Soweit auch kein Problem.
Wenn ich das Script per Shell aufrufe läuft es ganz normal und tut seinen Dienst.
Wenn ich das gleiche Script aber per Cron zeitgesteuert starten lassen dann hab ich foglenden Error in der Mailbox von root:
--------------------------
/root/dns_update.sh: line 1: ifconfig: command not found
--------------------------

Hier mal das Script:

---------------------------------------------------------------------------------------------------
#!/bin/sh
SLUSER=xxxxxxxx

SLPASS=xxxxxxxx

SLID=xxxxxxxxxxx

# Obtain current ip address
IPADDR=`ifconfig ppp0 | grep inet | awk '{print $2}' | awk -F : '{print $2}'`

if wget -q -O /proc/self/fd/1 http://www.sitelutions.com/dnsup?user=$SLUSER\&pass=$SLPASS\&id=$SLID\&ip=$IPADDR | grep success > /dev/null; then
logger -t Sitelutions.com -s "DNS Record Updated Successfully"
else
logger -t Sitelutions.com -s "Problem updating DNS record."
fi
----------------------------------------------------------------------------------------------------

Hat jemand ne Idee warum das Script per Shell läuft und per Cron nicht ?

spirou
29.05.03, 19:58
Wahrscheinlich sind die Umgebungsvariablen nicht entsprechend gesetzt...in dem Fall fehlt wohl /sbin und/oder /usr/sbin. Schreib mal am Anfang vom Script 'export PATH=$PATH:/sbin:/usr/sbin' oder halt das, was du zum Setzen von Umgebungsvariablen in der benutzten Shell brauchst.
Unter Umständen reicht es auch, wenn du am Anfang des Scripts (also in der allerersten Zeile) '#!/bin/bash' statt '#!/bin/sh' hinschreibst.

Grüßle
Spirou :D

alexm
29.05.03, 21:36
änder das "ifconfig" auf /sbin/ifconfig, dann brauchst du keinen PATH setzen. du rufst das script wahrscheinlich als root auf, und der hat /sbin in seinem PATH.

sira
30.05.03, 03:41
Danke euch beiden, es hat funktioniert.... :cool: