Skip to content
Snippets Groups Projects
motd.sh 2.45 KiB
Newer Older
  • Learn to ignore specific revisions
  • Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    #!/bin/bash
    
    ### MOTD and Downtime history
    # autor: kru0052
    # 2016 IT4Innovations
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    # version 1.0
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    ###
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    printf "update"
    wget -q  http://www.it4i.cz/support/?lang=en
    printf " ... OK\n"
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    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"
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    rm "/srv/downtime/$i"
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    title="Message of the day"
    head=$(cat TMP.html | grep "rss-item-title" | cut -d ">" -f 2 | cut -d "<" -f 1)
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    date=$(cat TMP.html | grep "<i>" | cut -d ">" -f 2 | cut -d "<" -f 1 | cut -d " " -f 1)
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    info=$(cat TMP.html | grep "<p>" | cut -d ">" -f 2 | cut -d "<" -f 1)
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    rm /srv/downtime/TMP.html
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    echo ""
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    echo "$title"
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    echo "$info"
    echo ""
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    # 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
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    	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"
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    	if [ "$date" = "$dateDown" ] && [ "$head" = "$headDown" ]; then
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    	else
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    		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
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    	fi
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    	
    #	echo "### $title" > docs/index.md
    #	echo "**$head**" >> docs/index.md
    #	echo "$date - $info" >> docs/index.md
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    fi
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
           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