Hallo Zusammen,
ich hoffe hier im Forum kann mir jemand helfen, denn ich bin so langsam am verzweifeln...
Folgendes Problem / Aufgabenstellung:
Ein Script soll eine Datei *.gz per http downloaden und anschließend entacken und convertieren. Das ganze soll automatisiert ablaufen per crontab.
Wenn ich dieses Script nun manuell starte, läuft es durch und alles funktioniert.
Per crontab läuft noch der Download korrekt ab, aber entpacken funktioniert schon nicht, da hier vermutlich, aufgrund der anderen Umgebung im crontab, ein Problem auftritt. Wird der Download und das Entpacken in zwei unterschiedlichen Cronjobs nacheinander ausgeführt, läuft alles. Das Skript soll aber in einem einzigen crontab ausgeführt werden, somit kommt das in als Lösung in frage.
Das Problem liegt vermutlich daran, dass auf die heruntergeladene Datei wohl nicht korrekt zugegriffen werden kann. Auch ein sync-Befehl nach dem Download und ein sleep brachte keinen Erfolg.
Als Problemlösung habe ich versucht dass sich der Cronjob per ssh auf user01@localhost connected, jedoch gleicher Fehler. Manuell funktioniert alles wieder. Per atjob habe ich auch wieder den gleichen Fehler.
hier der crontab (wird von einem user ausgeführt / nicht root):
hier mein Script:
ich hoffe hier im Forum kann mir jemand helfen, denn ich bin so langsam am verzweifeln...
Folgendes Problem / Aufgabenstellung:
Ein Script soll eine Datei *.gz per http downloaden und anschließend entacken und convertieren. Das ganze soll automatisiert ablaufen per crontab.
Wenn ich dieses Script nun manuell starte, läuft es durch und alles funktioniert.
Per crontab läuft noch der Download korrekt ab, aber entpacken funktioniert schon nicht, da hier vermutlich, aufgrund der anderen Umgebung im crontab, ein Problem auftritt. Wird der Download und das Entpacken in zwei unterschiedlichen Cronjobs nacheinander ausgeführt, läuft alles. Das Skript soll aber in einem einzigen crontab ausgeführt werden, somit kommt das in als Lösung in frage.
Das Problem liegt vermutlich daran, dass auf die heruntergeladene Datei wohl nicht korrekt zugegriffen werden kann. Auch ein sync-Befehl nach dem Download und ein sleep brachte keinen Erfolg.
Als Problemlösung habe ich versucht dass sich der Cronjob per ssh auf user01@localhost connected, jedoch gleicher Fehler. Manuell funktioniert alles wieder. Per atjob habe ich auch wieder den gleichen Fehler.
hier der crontab (wird von einem user ausgeführt / nicht root):
Code:
SHELL=/bin/bash
# m h dom mon dow command
30 02 * * * /home/user1/script/start.sh
#------------------------
hier mein Script:
Code:
#!/bin/bash
cd /home/user1/script/workfolder
echo "$(date +%Y%m%d%H%M%S) RUN...start downloading now..." >> /var/www/output/log/$(date +%Y%m).log
wget http://*.*.*.*/pub/latest.gz -O latest_$(date +%Y%m%d).gz
echo "$(date +%Y%m%d%H%M%S) OK...download complete!" >> /var/www/output/log/$(date +%Y%m).log
echo "$(date +%Y%m%d%H%M%S) RUN...start unzipping now..." >> /var/www/output/log/$(date +%Y%m).log
/bin/gzip -dfv latest_$(date +%Y%m%d).gz
echo "$(date +%Y%m%d%H%M%S) RUN...converting files now..." >> /var/www/output/log/$(date +%Y%m).log
/usr/local/bin/converttool-1.554.1/convert latest_$(date +%Y%m%d) -O latest_$(date +%Y%m%d).txt
mv latest_$(date +%Y%m%d).txt /var/www/output
echo "$(date +%Y%m%d%H%M%S) OK...success" >> /var/www/output/log/$(date +%Y%m).log