#!/bin/bash ### MOTD and Downtime history # autor: kru0052 # 2016 IT4Innovations # version 1.0 ### printf "update" wget -q http://www.it4i.cz/support/?lang=en printf " ... OK\n" i="index.html?lang=en" HEAD=$(grep -n -m1 'class="matrix light-grey' "$i" |cut -f1 -d: | tr --delete '\n') END=$(grep -n -m1 '<h3>Other</h3>' "$i" |cut -f1 -d: | tr --delete '\n') LAST=$(wc -l "$i" | cut -f1 -d' ') DOWN=$((LAST-END+2)) sed '1,'"$((HEAD-1))"'d' "$i" | sed -n -e :a -e '1,'"$DOWN"'!{P;N;D;};N;ba' | sed '/<div/d' > "TMP.html" rm "/srv/downtime/$i" title="Message of the day" head=$(cat TMP.html | grep "rss-item-title" | cut -d ">" -f 2 | cut -d "<" -f 1) date=$(cat TMP.html | grep "<i>" | cut -d ">" -f 2 | cut -d "<" -f 1 | cut -d " " -f 1) info=$(cat TMP.html | grep "<p>" | cut -d ">" -f 2 | cut -d "<" -f 1) rm /srv/downtime/TMP.html echo "" echo "$title" echo "$date - $head" echo "$info" echo "" # poovolene stavy - Salomon Maintenance, Anselm Maintenance, Back in Production, Infrastructure Maintenance, PBS Maintenance, SCRATCH Maintenance, HOME Maintenance, Salomon and Anselm Maintenance if [ "$head" = "Salomon Maintenance" ] || [ "$head" = "Anselm Maintenance" ] || [ "$head" = "Back in Production" ] || [ "$head" = "Infrastructure Maintenance" ] || [ "$head" = "PBS Maintenance" ] || [ "$head" = "SCRATCH Maintenance" ] || [ "$head" = "HOME Maintenance" ] || [ "$head" = "Salomon and Anselm Maintenance" ]; then dateDown=$(cat /srv/downtime/docs/index.md | sed -n '/---/{n;p;}' | cut -d "|" -f 2 | cut -d " " -f 1) headDown=$(cat /srv/downtime/docs/index.md | sed -n '/---/{n;p;}' | cut -d "|" -f 3 | cut -d "*" -f 3) echo "$date - $dateDown" if [ "$date" = "$dateDown" ] && [ "$head" = "$headDown" ]; then echo "Everything up-to-date..." else echo "Updating Downtime History..." test=" |$date 00:00:00|**$head** $info|" sed '/---/a '"$test"'' /srv/downtime/docs/index.md > /srv/downtime/TMP.md cat /srv/downtime/TMP.md > /srv/downtime/docs/index.md # rm /srv/downtime/TMP.md fi # echo "### $title" > docs/index.md # echo "**$head**" >> docs/index.md # echo "$date - $info" >> docs/index.md else echo "Downtime History not updated..." fi echo "# $title" > docs/motd.md echo "**$head**" >> docs/motd.md echo "$date - $info" >> docs/motd.md time=$(date) sed '$d' /srv/downtime/docs/index.md > /srv/downtime/TMP.md cat /srv/downtime/TMP.md > /srv/downtime/docs/index.md rm /srv/downtime/TMP.md echo "updating $time" >> /srv/downtime/docs/index.md