diff --git a/chch-calendar.sh b/chch-calendar.sh index 137196a..d3a72cb 100755 --- a/chch-calendar.sh +++ b/chch-calendar.sh @@ -7,22 +7,28 @@ WIKI_PATH="/var/www/chch/" RAND="$(date +%s)$RANDOM$RANDOM$RANDOM" CHCH_ICAL_TMP="/tmp/chch_$RAND.ical" CHCH_ICAL_FAIL="/tmp/chch_ical_wget_failed" +CHCH_ICAL_FAIL_WARN_SENT="/tmp/chch_ical_wget_warned" +CHCH_ICAL_FAIL_WARN_DELAY=60 # miniutes rm -rf /tmp/chch_*.ical wget "$CHCH_ICAL_SRC" -O "$CHCH_ICAL_TMP" -q -T 45 -t 1 if [ $? -ne 0 ]; then if [ ! -f "$CHCH_ICAL_FAIL" ]; then - echo "ERROR: wget failed to download calendar" >&2 touch "$CHCH_ICAL_FAIL" fi + if [ ! -f "$CHCH_ICAL_FAIL_WARN_SENT" ] && test "$(find "$CHCH_ICAL_FAIL" -mmin +$CHCH_ICAL_FAIL_WARN_DELAY)"; then + echo "ERROR: wget failed to download calendar" >&2 + touch "$CHCH_ICAL_FAIL_WARN_SENT" + fi else mv "$CHCH_ICAL_TMP" "$CHCH_ICAL" >/dev/null 2>&1 - if [ -f "$CHCH_ICAL_FAIL" ]; then + if [ -f "$CHCH_ICAL_FAIL_WARN_SENT" ]; then echo "INFO: wget recovered from previous error" >&2 - rm -rf "$CHCH_ICAL_FAIL" fi + rm -rf "$CHCH_ICAL_FAIL" + rm -rf "$CHCH_ICAL_FAIL_WARN_SENT" fi - +rm -rf "$CHCH_ICAL_TMP" # this requires -> icalparser from https://github.com/OzzyCzech/icalparser.git head $CHCH_ICAL -n1 >/dev/null 2>&1 && php "$SCRIPT_DIR/include/chch_ical2mediawiki.php" "$CHCH_ICAL" 2>/dev/null | php "$WIKI_PATH/maintenance/edit.php" -m -b --no-rc -s "automatische Aktualisierung aus dem ical feed" "Aktuelle_ChCh-Termine" >/dev/null 2>&1