Bash script, som blir kjørt av crontab på mac

Bash script, som blir kjørt av crontab på mac

Innleggav p0ker » ons 12.12.2007 10:35

Hi,

Har et litt sært problem. Jeg har laget meg et lite bash script som kjører rsync via crontab.
Dette er for å kjøre rsync mot en ekstern server.....

Det jeg sliter med, er at det ikke blir kjørt riktig, dvs scriptet mitt feiler.
Jeg har lagt inn en failsafe for å ikke starte rsync hvis den ikke får kontakt med serveren.

I bunn å grunn er scriptet slik
ping remote-host
if ok then run rsync
else quit

Ping rutinen;
Kode: Merk alt
## Check if backup server is responsive
ping -c 1 $BACKUP_SERVER >> /dev/null

# a successful ping will return a status of 0
if [ $? != 0 ]
then
  # the first ping didn't work, so let's try a few more
  ping -c 5 $BACKUP_SERVER >> /dev/null
  # if that doesn't work, log it and abort
  if [ $? != 0 ]
  then
    echo "$BACKUP_SERVER status=unreachable" >> $BACKUP_LOG
  exit 2
  fi
fi


Det som er problemet mitt er at når jeg kjører scriptet manuelt, så funker det utmerket og den starter rsync rutinen, men når den blir kjørt fra crontab, så feiler ping rutinen.

Noen som har noen gode forslag på hvorfor den feiler når scriptet blir kjørt fra crontab, og ikke når den blir kjørt manuelt? All hjelp taes i mot... :)

Brukerens avatar
medlem i 208 måneder
 

Re: Bash script, som blir kjørt av crontab på mac

Innleggav EinarJ » ons 12.12.2007 14:28

Cron er vel "utdatert" i Mac OS X, og erstattet av launchd, bruk http://lingon.sourceforge.net/ til å sette opp jobben i launchd.

Moderator
Brukerens avatar
medlem i 235 måneder
 


Returner til Scripting



Hvem er i Forumene

Registrerte brukere: Google [Bot]



cron