[BASH] Prosty sprawdzacz stron

0

Witam, napisałem sobie, kuriozalnie bo nie znając basha :), sprawdzacz stron oparty o porównywanie sum md5. Razem z pythonowym skryptem do wysyłania sms z MultiBox Orange sprawdza się nieźle. Wget pobiera strone, zapisuje md5, porównuje i tak w kółko. Czasem jednak, serwer zwróci jakiś błąd 503, 404 i wtedy również wysyła mi się sms...

Jakby komuś chciało się zerknąć na mój mały eksperyment - byłbym wdzięczny.

http://wklej.to/d2UZ

0
#!/bin/bash
# Skrypt sprawdzajacy zmiany na stronach www
# Uzywanie:
# ./check [NAZWA] [ODSTEP_CZASOWY_W_SEK] [ADRES_STRONY] [NUMER TELEFONU]
#

if [ "$#" -ne 4 ]; then
    echo $0 [NAZWA] [ODSTEP_CZASOWY_W_SEK] [ADRES_STRONY] [NUMER_TELEFONU]
    exit -1
fi

if [ -a "md5.$1" ]; then
    SUM=`cat md5.$1`
    echo Historia odnaleziona
else
    wget $3 -nv -O strona.$1.html
    SUM=`md5sum -b strona.$1.html`
    rm -f strona.$1.html
    echo $SUM >> md5.$1
    echo Sume kontrolna zapisalem do pliku md5.$1
fi

while /bin/true; do
    sleep $2
    wget $3 -nv -O strona.$1.html
    grep -qE 'ERROR|403|404|503' strona.$1.html && {
        echo BLAD POLACZENIA
        continue
    } || {
        SUM1=`md5sum -b strona.$1.html`
        if [ "$SUM" = "$SUM1" ]; then
            echo BRAK AKTUALIZACJI
            rm -f strona.$1.html
        else
            echo AKTUALIZACJA - WYSYLAM SMS\'A
            python sms.py www $4 Aktualizacja na stronie $1
            rm -f md5.$1
            rm -f strona.$1.html
            echo $SUM1 >> md5.$1
            SUM=$SUM1
        fi
    }
done

man grep

0

Podziękował :)

0

jestem poczatkujacy i chcialem spytac dlaczego w tym skrypcie obliczasz sume md5 a nie porownujesz zawartosc dwoch plikow? jaka jest roznica?

1 użytkowników online, w tym zalogowanych: 0, gości: 1