[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