Portál AbcLinuxu, 9. května 2025 22:46

Dotaz: Upozornění na změnu na www, #!/bin/bash/ script

12.12.2011 22:35 Houba
Upozornění na změnu na www, #!/bin/bash/ script
Přečteno: 451×
Odpovědět | Admin

Zdravím , pokouším se vytvořit takový script , který by mě upozorňoval emaily o suplovacím rozvrhu , běží to na serveru ( Debian apache )v /etc/cron.hourly/
URL="http://xxx.cz/x/xxxx/xxxxxxxx.htm"
EMAIL="xxx@gmail.com"
curl -s "$URL" | grep -q -i '2\.a' && echo "$URL"| mail "$EMAIL" -s 'Pozor v su plu se vyskytuje 2.A ,--> jemozny ze se neco deje :D'
je to sice hezké , ale docela to spamuje email , když to každou hodinu zjistí že se vyskytuje 2.A posílá email . takže bych to potřeboval vylepšit nějak elegantně . pokud by měl někdo nejaký lepši a použitelnější nápad jak to kontrolovat . :)

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.12.2011 23:05 Kit
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
Odpovědět | | Sbalit | Link | Blokovat | Admin
Můžeš použít diff, při shodě s předchozí verzí se nic nemusí posílat.
12.12.2011 23:15 Houba
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
díky , ale jak to vyřešit , když předchozí odpověď bude před týdnem a dnes se tam zase něco objeví a nic to nepošle :)
Jendа avatar 12.12.2011 23:31 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
Obsahuje ten soubor datum, na které to suplování platí?

(zeptám se přímo, jsou to Bakaláři? :)
12.12.2011 23:42 Houba
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
Ano , jsou to bakaláři :)

takhle nějak to tam je , velice dobrá otázka :) to mě nenapadlo , ale jak to zrealizovat nejsem nějak extra zkušený :)

Suplování: Úterý 13.12.2011

datum výpisu: 12.12.2011 (14:51)
Jendа avatar 12.12.2011 23:56 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
  1. Stáhneš stránku do souboru
  2. Vymažeš datum výpisu (typicky grep -v na ten řádek)
  3. Spočítáš sha1sum toho souboru a někam si ho poznamenáš
  4. Podíváš se, jestli jsou poslední a předposlední sha1sum stejné
  5. Pokud ne, podíváš se na 2.A a pošleš mail
16.12.2011 16:34 Houba
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
vytvořil jsem toto :) ale když to testuju , v konzoli dostanu tenhle error , pomůžete mi vyřešit ?
./suplsec

http://www.panska.cz/b/supl/suplobec.htm
Resolving www.xxxxxxx.cz... 2xx.1x5.1xx.xx
Connecting to www.xxxxxxxxx.cz|x4x.2xx.x1x.2xx|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17977 (18K) [text/html]
Saving to: âsuplobec.htmâ

100%[======================================>] 17,977 --.-K/s in 0.1s
2011-12-16 16:26:26 (126 KB/s) - âsuplobec.htmâ
./suplsec: line 7: [sha1sum: command not found <------------------------------------------ZDE
#!/bin/bash
EMAIL="martingooldik@gmail.com"
wget www.xxxxxxx.cz/b/supl/suplobec.htm -O suplobec.htm #stahne htm soubor
grep -v 'datum' suplobec.htm > hash_new #vymaze datum a vztvori soubor hash_new
if [sha1sum hash_old != sha1sum hash_new && curl -s hash_new | grep -q -i '2\.a']; then #kdyz se stary hash nerovna s novym melo bz to poslat email a jeste se tam vyskytovat 2.A
mail "$EMAIL" -s 'Pozor v suplu se vyskytuje 2.A ,--> jemozny ze se neco deje :D'
fi
cp suplobec.htm hash_old
16.12.2011 16:37 Houba
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
ve čtvrtém řádku od konce jsem napsal kravinu správně je


if [sha1sum hash_old != sha1sum hash_new && grep -q -i '2\.a' hash_new]; then
mail "$EMAIL" -s 'Pozor v suplu se vyskytuje 2.A ,--> jemozny ze se neco deje :D'
fi
Tarmaq avatar 16.12.2011 17:16 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
vrele doporucuju pouzivat element <pre> pro vlozeni nejakeho skriptu, tohle se cte vazne hrozne..
Don't panic!
Tarmaq avatar 16.12.2011 17:19 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
a jinak teda k samostatnemu problemu - vypada to ze to poustis cronem, tzn. je treba si uvedomit, ze tam neni nastaveno prostredi tak jak jsi zvykly.
Konkretne ten problem s sha1sum bude v tom, ze neni nastavena v envu $PATH, tzn. nejlip asi napsat cestu celou k sha1sum - zjistis pomoci
$ which sha1sum
Don't panic!
16.12.2011 17:28 Houba
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
trošku jsem to předělal pomocí diff co tohle ? , ale nějak to neposílá email .) #!/bin/bash

EMAIL="martingooldik@gmail.com"

wget www.panska.cz/b/supl/suplobec.htm -O suplobec.htm

grep -v 'datum' suplobec.htm > hash_new



if [ "`diff hash_new hash_old`" ] && [ grep -q -i '2\.a' ]; then

mail "$EMAIL" -s 'Pozor v suplu se vyskytuje 2.A ,--> jemozny ze se neco deje :D';

fi

cp hash_new hash_old

Tarmaq avatar 16.12.2011 17:44 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
to bude tim, ze mail ocekava na stdin nejaky text..
zkus ten radek s mail nahradit za:
echo 'Pozor v suplu se ...' | mail -s 'Suplovani' "$EMAIL"
Don't panic!
16.12.2011 19:15 Houba
Rozbalit Rozbalit vše Re: Upozornění na změnu na www, #!/bin/bash/ script
Tak , přesně takhle to funguje , když se změní suplák to funguje dobře :D , ale teď tam potřebuju přidat ještě potom kontrolu na && grep -q -i '2\.a' hash_new ale to nefunguje když to přidám za před středník u ifu #!/bin/bash

EMAIL="martingooldik@gmail.com"

wget -O suplobec.htm www.panska.cz/b/supl/suplobec.htm

grep -v 'datum' suplobec.htm > hash_new



if diff hash_new hash_old; then

echo nic

else

echo 'Pozor v suplu se ...' | mail -s 'Suplovani' "$EMAIL"

fi

cp hash_new hash_old

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.