Cron wartet nicht auf ausgeführte Befehle
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?
--
MfG usw.
Werner Mahr
Reply to: