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

Re: Cron wartet nicht auf ausgeführte Befehle



Hallo Werner,

Werner Mahr <werner@vollstreckernet.de> (Fr 22 Mai 2009 14:27:00 CEST):
> Servus,
> 
> bin mal wieder am versuchen einen upload zu automatisieren. Das Skript 
> sieht so aus:
> 
> #!/bin/sh -x                                
> 
> webdir=/usr/server/www/tb/
> stamp=/tmp/uploading
> script_cmd="/usr/bin/script -f -c"
> upload_cmd="/usr/bin/lftp -f"
> script_file=${webdir}upload_script
> 
> if [ -e ${stamp} ] ; then
>         exit 0
> fi
> 
> if [ -e ${script_file} ] ; then
>         touch ${stamp}
>         rev=`head -1 ${script_file} | sed -e 's/#//'`
>         logfile=${webdir}logs/${rev}.log
>         ${script_cmd} "${upload_cmd} ${script_file}" ${logfile}
>         rm ${script_file}
>         rm ${stamp}
> fi
> 
> Ja, ich weiß da sind ein Haufen Variablen drin, aber ich habs halt gerne 
> universal. Mein Problem ist die Zeile vor den beiden rm. Um zu 
> erleichtern, die Zeile wird zu:
> 
> /usr/bin/script -f -c "/usr/bin/lftp -f \ 
> /usr/server/www/tb/upload_script" /usr/server/www/tb/logs/9566-
> tarball.log
> 
> Das Problem ist einfach nur, dass der Befehl gestartet wird, und sofort 
> zum nächsten Befehl weitergesprungen wird, der dann die übergebene Datei 
> löscht. Das passiert allerdings nur, wenn das script von cron ausgeführt 
> wird, beim manuellen Aufruf auf der Shell läuft es wie erwartet.
> 
> Muss ich da irgendwas besonderes in der crontab mit eintragen, oder 
> woran liegt sowas?

Normalerweise lautet die Antwort "PATH", aber ich denke, hier ist das
nicht relevant, da Du ${script_cmd} ja mit Pfad verwendest. Aber
möglicherweise geht die Zeile vor dem Löschen ja aus anderen Gründen
sehr schnell zu Ende - wegen irgend eines bösen Fehlers.

Du könntest ein "time" davor schreiben, um mal zu sehen, wie lange das
dauert. Du könntest nach ${script_cmd} mal nach dem Exit-Status gucken,
ob der sich unterscheidet von dem, den Du erwartet hättest.

Was schickt Dir Cron in seiner Mail? (Es müsste ja etwas schicken, wegen
des "-x".)

-- 
Heiko

Attachment: signature.asc
Description: Digital signature


Reply to: