[FoLUG] shellscript automation
ivan
i.f-ml01@darthxiong.net
Ven 27 Mar 2009 15:17:52 CET
dimenticavo il pezzo importante :)
--
(@_ Ivan Fabris, S. Sofia (FC,it) PowerPC e Debian GNU/linux SID _*)
//\ www.folug.org lunga vita e prosperita' /\\
V_/_ pgp id 9E12 1AB8 E094 162C 1936 E29D 0700 3B4D B432 2931 _\_V
-------------- parte successiva --------------
#!/bin/bash
# qui c'e' il menu a tendina con gli indirizzi di tutte le settimane.
# non si possono generare automaticamente perche' alcuni sono di domenica
# e altri di lunedi
echo "scarico la pagina che contiene i link ai file pdf"
rm -f magazine.php
wget http://www.beppegrillo.it/magazine.php
# cancello preventivamente il file perche' altrimenti wget
# lo salva con un numero progressivo. potrebbe anche sovrascriverlo
# in verita'. per esercizio :-) man wget e man rm per il -f
# analizzo il codice html ed estraggo le date delle settimane.
# si potrebbe usare direttamente gli indirizzi interni, ma
# cosi' punto direttamente al file
# possibili errori : se cambia la struttura di magazine.php
# la parte seguente non funziona piu'
for DATE in $( cat magazine.php | grep 'option value="http://www.beppegrillo.it/lasettimana.php?numero=' | cut -d '"' -f 2 | cut -d '=' -f 3 )
do
# se esiste gia un file omonimo di quello che stiamo scaricando
# ed ha dimensioni maggiori di zero ( -s )
# allora salta lo scaricamento
# se no scarica
# cosi' possiamo lanciarlo ogni settimana e prendere solo
# l' ultimo numero :)
if [ -s lasettimana$DATE.pdf ]
then echo "la settimana del $DATE c'e' gia in locale, la salto"
else wget http://www.beppegrillo.it/magazine/archivio/lasettimana$DATE.pdf
fi
done
# cancella cio' che non serve piu'. lascia l' ambiente pulito!
rm -f magazine.php
# un po' di reportistica ...
echo -n "finito. hai queste 'settimane' file nella cartella " ; pwd
du -csh lasettimana*
Maggiori informazioni sulla lista
FoLUG