Fare una copia di backup o semplicemente per farsi una copia locale di un sito web, sotto linux o unix like, abbiamo la possibilità di utiizzare due comandi molto potenti:
WGET e CURL
Partiamo da wget, la cui sintassi è:
$ wget [opzione]... [URL]...
Ad esempio per farsi una copia di backup di un sito si può utilizzare il seguente comando:
$ wget -m http://www.sito.com
l’opzione -m significa “mirror site”
$ wget -rkp -l3 -np -nH –cut-dirs=1 http://www.sito.com/sottocartella/
In questo esempio si scarica il sito ricorsivamente fino a 3° livello (opzione -l3) dalla pagina originale. Inoltre farà in modo di sostituire nelle pagine ogni link per rendere la copia locale utilizzabile. Le ultime due opzioni -nH –cut-dirs=1 farà in modo di scivere tutto nella cartella corrente evitando di creare un cartella tipo “www.sito.com”.
Se volessimo scaricare anche le pagine esterne al sito, ma linkate dal sito, dobbiamo aggiungere alcune opzioni, e il comando diventa:
$ wget -H -r --level=1 -k -p http://www.sito.com
in modo da scaricare ricorsivamente (-r
) tutte le pagine del sito, compreso un livello (--level=1
) di altri siti linkati (-H
) e comprese le immagini e altri componenti delle pagine (-p
), convertendo i riferimenti dei link delle pagine scaricate (-k
) cosi’ che possiamo navigare tra le pagine in locale.
Aggiungendo l’opzione -P
possiamo indicare la directory nella quale scaricare il sito:
$ wget -m -p -k -P /home/utente/directory/locale http://www.sito.com
Possiamo escludere alcuni tipi di file dallo scaricamento, ad esempio i PDF:
$ wget -m --reject=pdf http://www.sito.com
oppure scaricare solo un tipo di file, ad esempio solo JPG:
$ wget -r -A.jpg http://www.sito.com
Wget tende a rispettare il file robots.txt e dovremmo farlo anche noi, ma a volte puo’ servirci dirgli di non farlo, cosi’ da scaricare anche file e pagine che il file robors.txt
esclude. Lo facciamo cosi’:
$ wget -m -erobots=off http://www.sito.com
Ritengo molto validi questi contenuti