Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: flashrobot 02 Května 2010, 22:22:26
-
Zdravim,
potrebujem spravit skript, ktory na FTP a HTTP serveroch bude vyhladavat urcite typy suborov (napr. video a hudbu). Cize spustim skript s adresou ftp/http servera a ten mi vypise zelane subory.
Ako vidite v prilohe, FTP vyhladavanie som vyriesil tak, ze som si to mountol cez curlftps a tam som jednoducho findom prebehol adresar a pomocou file som zistil mime typ suboru.
Avsak ked som chcel tymto istym sposobom riesit aj HTTP, nastalo niekolko problemov: mountnut to viem iba ked na serveri bezi webdav, taktiez je treba dodatocne zadavat cestu k adresaru kde je webdav (napr /public/webdav) a najhorsie je to, ze pri spusteni FINDu to zamrzne pri vacsich .avi suboroch.
Potrebujem teda poradit, ako by som nejak rekurzivne ziskal vsetky priame linky k suborom, ktore su na webserveri, tym padom by som to nemusel ani mountovat a pouzivat webdav. Wget vie rekurzivne zistit linky, no zacne ich hned vsetky stahovat a to nemozem... Viac info komentare v skripte:)
http://pastebin.org/198379 (http://pastebin.org/198379)
Uvitam akekolvek napady vratane navrhov na vylepsenie uz fungujuceho FTP vyhladavaca, napr. aby nebolo potrebne pouzivat nadstardantne baliky ako curlftps.
Vsetkym vopred dakujem.
-
rtfm!
· Chcete stáhnout všechny GIFy z adresáře na HTTP serveru. Zkusili jste wget
http://www.server.com/dir/*.gif, ale to nefungovalo, protože stahování z HTTP nepodporuje globbing. V
tom případě použijte:
wget -r -l1 --no-parent -A.gif http://www.server.com/dir/
Delší, ale ve výsledku stejné. -r -l1 znamená rekurzivní stahování s maximální hloubkou 1. --no-par-
ent znamená, že odkazy na rodičovský adresář se ignorují a -A.gif znamená, že mají být staženy pouze
soubory GIF files. -A "*.gif" by fungovalo stejně.
-
rtfm!
· Chcete stáhnout všechny GIFy z adresáře na HTTP serveru. Zkusili jste wget
http://www.server.com/dir/*.gif, ale to nefungovalo, protože stahování z HTTP nepodporuje globbing. V
tom případě použijte:
wget -r -l1 --no-parent -A.gif http://www.server.com/dir/
Delší, ale ve výsledku stejné. -r -l1 znamená rekurzivní stahování s maximální hloubkou 1. --no-par-
ent znamená, že odkazy na rodičovský adresář se ignorují a -A.gif znamená, že mají být staženy pouze
soubory GIF files. -A "*.gif" by fungovalo stejně.
rtft!
píše o stáhnutí linků na soubory, nemá zájem stáhnout konkrétní soubory...
-
man wget....
wget --spider -r -l2 --no-parent -A.gif http://www.ubuntu.cz
-
errare humanum est.. zakladni rada (rtfm) ale byla kazdopadne spravna
-
Diky moc chlapi, hlavny problem bol v tom, ze som mal stary wget a ten mal v rezime spider ovela skromnejsi vystup :)