Domanda: Il sito Web intranet della mia azienda ospita GB di strumenti e applicazioni software. Ho provato a scaricarli tutti tramite comando wget e tuttavia mantenere la stessa struttura di directory (la directory di origine ha organizzato gli strumenti in varie categorie, che mi piace mantenerla allo stesso modo). Ecco un esempio di directory web intranet:http://intranet.company.com/software-tools/ . Il "software-tools" è la directory che contiene molte sottodirectory e file. Vorrei scaricare tutti quelli ricorsivamente usando il comando wget. Ma non riesco a trovare le opzioni giuste per wget? Qualcuno di techglimpse può aiutarmi? – Navena.
Risposta:
wget è l'utilità della riga di comando per scaricare file da un server Web remoto. Ti consente di scaricare un file specifico, scorrere una directory (intendo, in modo ricorsivo) e scaricare file anche da sottodirectory.
wget recursive download
# wget -r http://intranet.company.com/software-tools/
Il comando precedente scaricherà tutti i file e le directory all'interno della directory "software-tools". Ma ricorda, scaricherà anche il file "index.html" nella directory "software-tool" e nelle sottodirectory interne. Per evitarlo, devi utilizzare l'opzione di rifiuto con valore come 'index.html'.
opzione di rifiuto di wget
# wget -r --reject "index.html*" http://intranet.company.com/software-tools/
Nota: L'opzione ricorsiva per wget funzionerà solo se l'elenco delle directory è stato consentito dal server web.
Risultato di esempio:
:::::::::::::::::::::::::: Removing intranet.company.com/software-tools/index.html?C=M;O=D since it should be rejected. ::::::::::::::::::::::::::
Non salire alla directory principale durante il download ricorsivo utilizzando wget
Se non vuoi che wget segua il link nell'indice della directory e salga alla directory principale, è necessario utilizzare l'opzione "–no-parent" come di seguito.
wget -r --no-parent --reject "index.html*" http://intranet.company.com/software-tools/
Troverai maggiori informazioni da man wget.