Ich schreibe ein Skript, das einige wichtige Daten (via Cronjob) von einer URL holt und eine E-Mail sendet, wenn es fehlschlägt, aber es scheint nicht zu erkennen, ob es fehlgeschlagen ist oder nicht (checking wget's return value [if]):Eine E-Mail senden, wenn wget fehlschlägt
wget_output=$(wget --tries=1 --timeout=300 -r -N -nd -np --reject=html https://myurl/ -P ../data)
if [ $? -ne 0 ]
then
echo "send email here" >> ./test.txt
else
echo "send email here" >> ./test2.txt
fi
es wird versucht, nur 1-mal (wie gesagt) und gibt dann nach oben, aber nicht erkennt, dass es entweder gelungen ist oder nicht. Ich nehme an, dass ich den Exit-Code nicht richtig handhabe oder so. Irgendeine Idee? Danke
interessant, obwohl ich bin überrascht, dass 'test2.txt' in diesem Fall nicht erstellt wird (weder Datei erstellt wird) – timhc22
Wie Sie dies in einem cron-Job ausgeführt werden Sie absolute Pfade für diese Dateien verwendet werden sollen: die Arbeitsverzeichnis ist möglicherweise nicht das, was Sie erwartet haben. Und stellen Sie sicher, dass der Cron-Benutzer Schreibrechte für dieses Zielverzeichnis hat. Vielleicht lohnt es sich auch zu überprüfen, ob die Shell-Option 'errexit' aktiviert wurde. – jil
ah super danke, ich werde es morgen versuchen! – timhc22