Hallo zusammen,
ich habe mal nen Skript geschrieben, um auf der Linux-Konsole den aktuellen Status seiner Apple Bestellung einsehen zu können und sich bei jeder Änderung am Bestellstatus oder Liefertermin per E-Mail benachrichtigen zu lassen. Per Crontab kann man das Skript z.B. alle 15 Minuten ausführen lassen.
Gruß baba
ich habe mal nen Skript geschrieben, um auf der Linux-Konsole den aktuellen Status seiner Apple Bestellung einsehen zu können und sich bei jeder Änderung am Bestellstatus oder Liefertermin per E-Mail benachrichtigen zu lassen. Per Crontab kann man das Skript z.B. alle 15 Minuten ausführen lassen.
Code:
#!/bin/bash
### Apple Bestellstatus v2.29 by baba (baba.boese@gmail.com)
### Crontab: */15 * * * * /root/apple-status/apple-status.sh > /dev/null
### Apple Bestellnummer
appleorderid=WXXXXXXXXX
### PLZ der Lieferadresse
appleplz=XXXXX
### E-Mail Adresse fuer Benachrichtung
infoemail=XXX@XXX.de
### Verzeichnis in dem dieses Skript liegt
rootdir=/root/apple-status
############# DO NOT EDIT #############
ver=2.29
webstatus=$appleorderid.data
echo "("$appleorderid") Apple Bestellstatus $ver by baba"
if [ -f "$rootdir/$webstatus" ]; then mv $rootdir/$webstatus $rootdir/$webstatus.old ; fi
if wget -q https://store.apple.com/de/order/guest/$appleorderid/$appleplz -P $rootdir
then
mv $rootdir/$appleplz $rootdir/$webstatus
status=`less $rootdir/$webstatus | grep '<span rel="delivery-states" data-content-class="delivery processing" class="info-bubble-link icon right"></span>' -B 2 |grep '"strong">' | cut -f 2 | sed 's!<span class="strong">!!g' | sed 's!</span>!!g'`
delivery=`less $rootdir/$webstatus | grep 'Liefert&' | cut -f 2 | sed 's! Liefert !!g'`
orderdate=`less $rootdir/$webstatus | grep 'Bestellt am' | sed 's! <h2 class="h2 strong">Bestellt am !!' | sed 's!</h2>!!g' | cut -b 17-`
rdytodeliver=`less $rootdir/$webstatus | grep 'Versandfertig in' | sed 's! Versandfertig in: !!g'`
if [ "$status" = "$orderdate" ]; then
echo "("$appleorderid") Apple Bestellstatus nicht erreichbar!"
exit 0
fi
echo "("$appleorderid") Bestellt am: "$orderdate
echo "("$appleorderid") Versandfertig in "$rdytodeliver" nach Bestellung"
if [ -f "$rootdir/$webstatus.old" ]; then
oldstatus=`less $rootdir/$webstatus.old | grep '<span rel="delivery-states" data-content-class="delivery processing" class="info-bubble-link icon right"></span>' -B 2 |grep '"strong">' | cut -f 2 | sed 's!<span class="strong">!!g' | sed 's!</span>!!g'`
olddelivery=`less $rootdir/$webstatus.old | grep 'Liefert&' | cut -f 2 | sed 's! Liefert !!g'`
if [ "$status" = "$oldstatus" ]; then
echo "("$appleorderid") Apple Bestellstatus nicht geaendert: "$status
#echo "("$appleorderid") Apple Bestellstatus nicht geaendert: "$status" - Liefertermin: "$delivery | mail -s "($appleorderid) Apple Bestellstatus nicht geaendert" $infoemail
else
if [ "$status" = "Versandt" ]; then
echo "("$appleorderid") Herzlichen Glueckwunsch! Ihr Artikel wurde versandt (Liefertermin: "$delivery"), die Sendeverfolgungsnummer und alle weiteren Informationen koennen Sie unter https://store.apple.com/de/order/guest/$appleorderid/$appleplz finden! Bitte vergessen Sie nicht, den Crontab-Eintrag zu entfernen. Vielen Dank, dass Sie Appple Bestellstatus "$ver" by baba verwendet haben!"
echo "("$appleorderid") Herzlichen Glueckwunsch! Ihr Artikel wurde versandt (Liefertermin: "$delivery"), die Sendeverfolgungsnummer und alle weiteren Informationen koennen Sie unter https://store.apple.com/de/order/guest/$appleorderid/$appleplz finden! Bitte vergessen Sie nicht, den Crontab-Eintrag zu entfernen. Vielen Dank, dass Sie Appple Bestellstatus "$ver" by baba genutzt haben!" | mail -s "($appleorderid) Apple Bestellstatus $ver by baba" $infoemail
exit 0
fi
echo "("$appleorderid") Apple Bestellstatus geaendert: "$status" (Alter Status: "$oldstatus")"
echo "("$appleorderid") Apple Bestellstatus geaendert: "$status" - Liefertermin: "$delivery" (Alter Status: "$oldstatus")" | mail -s "($appleorderid) Apple Bestellstatus geaendert!" $infoemail
fi
if [ "$delivery" = "$olddelivery" ]; then
echo "("$appleorderid") Apple Liefertermin nicht geaendert: "$delivery
#echo "("$appleorderid") Apple Liefertermin nicht geaendert: "$delivery" - Bestellstatus: "$status | mail -s "($appleorderid) Apple Liefertermin nicht geaendert" $infoemail
else
echo "("$appleorderid") Apple Liefertermin geaendert: "$delivery" (Alter Liefertermin: "$olddelivery")"
echo "("$appleorderid") Apple Liefertermin geaendert: "$delivery" - Bestellstatus: "$status" (Alter Liefertermin: "$olddelivery")" | mail -s "($appleorderid) Apple Liefertermin geaendert!" $infoemail
fi
else
echo "("$appleorderid") Kein alter Apple Bestellstatus vorhanden. Aktueller Status: "$status" - Liefertermin: "$delivery
#echo "("$appleorderid") Kein alter Apple Bestellstatus vorhanden. Aktueller Status: "$status" - Liefertermin: "$delivery | mail -s "($appleorderid) Kein alter Apple Bestellstatus vorhanden" $infoemail
echo "("$appleorderid") Bestellt am: "$orderdate" und Versandfertig in "$rdytodeliver" nach Bestellung." | mail -s "($appleorderid) Apple Bestellstatus $ver by baba" $infoemail
fi
else
echo "("$appleorderid") Apple Bestellstatus nicht erreichbar!"
fi
Gruß baba