Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
erstellen einer url liste? für alles in einem remote verz.
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
schrippe
Guru
Guru


Joined: 03 Mar 2004
Posts: 556
Location: Mülheim

PostPosted: Thu Aug 11, 2005 1:05 pm    Post subject: erstellen einer url liste? für alles in einem remote verz. Reply with quote

hallo,

ich möchte zum testen der performance eines webservers eine liste aller dateien erstellen, die in einem bestimmten verzeichnis des servers liegen.

also sowas wie
http://www.exapmple.com/www/datei1
http://www.exapmple.com/www/datei2
http://www.exapmple.com/www/datei3

usw.

ich möchte diese liste dann in das apache webserver stresstool einladen und jede datei mit mehreren clients und request runterladen.

danke
_________________
for i in $(seq 1 565); do echo 'A$i: entweder rechts fahren oder rechts überholen dürfen!';done


Last edited by schrippe on Fri Aug 12, 2005 7:30 am; edited 1 time in total
Back to top
View user's profile Send private message
schmutzfinger
Veteran
Veteran


Joined: 26 Oct 2003
Posts: 1287
Location: Dresden/Germany

PostPosted: Thu Aug 11, 2005 1:50 pm    Post subject: Reply with quote

Damit bekommst du den Inhalt von /var/www-data rekursiv für die URL http://www.bla.de/. Ist nur ein Bsp aber sollte deutlich machen, wie man so ein Problem angehen kann.
Code:

tree -f --noreport /var/www-data | perl -pi~ -e "s/.*\/var\/www-data/http:\/\/www\.bla\.de/g"


Falls du mit regulären Ausdrücken keine Erfahrung hast kannst du zB mit kregexpeditor lernen.
Back to top
View user's profile Send private message
schrippe
Guru
Guru


Joined: 03 Mar 2004
Posts: 556
Location: Mülheim

PostPosted: Fri Aug 12, 2005 7:25 am    Post subject: Reply with quote

@ schmutzfinger: hatte dir ne pn geschickt. klappt leider nicht. er kann meine adresse nicht aufrufen.

aber ich glaube du hast micht nicht richtig versatnden.

ich möchte von einem server z.b. google.de alle dateien eines verzeichnisses dieses servers mit jeweils dessen url haben.

die dateien liegen nicht lokal bei mir.
_________________
for i in $(seq 1 565); do echo 'A$i: entweder rechts fahren oder rechts überholen dürfen!';done
Back to top
View user's profile Send private message
schrippe
Guru
Guru


Joined: 03 Mar 2004
Posts: 556
Location: Mülheim

PostPosted: Fri Nov 17, 2006 1:42 pm    Post subject: Reply with quote

hat jemand ne lösung dafür?

THX
_________________
for i in $(seq 1 565); do echo 'A$i: entweder rechts fahren oder rechts überholen dürfen!';done
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Fri Nov 17, 2006 2:14 pm    Post subject: Reply with quote

Code:
lynx -dump "http://www.google.de" | grep -e " .[0-9+]\.\ "| cut -d "." -f 2-

liefert die URLs aller Links auf der Seite. So in der Art?

by the way, verschoben nach Diskussionsforum
Back to top
View user's profile Send private message
schrippe
Guru
Guru


Joined: 03 Mar 2004
Posts: 556
Location: Mülheim

PostPosted: Fri Nov 17, 2006 4:02 pm    Post subject: Reply with quote

ja, so in der art.
thx
_________________
for i in $(seq 1 565); do echo 'A$i: entweder rechts fahren oder rechts überholen dürfen!';done
Back to top
View user's profile Send private message
schrippe
Guru
Guru


Joined: 03 Mar 2004
Posts: 556
Location: Mülheim

PostPosted: Sat Nov 18, 2006 12:14 pm    Post subject: Reply with quote

ist es dann auch möglich, alle dateien d.h. recursiv dahinter anzuzeigen?

thx
_________________
for i in $(seq 1 565); do echo 'A$i: entweder rechts fahren oder rechts überholen dürfen!';done
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Sat Nov 18, 2006 12:25 pm    Post subject: Reply with quote

So in der Form, hier Beschränkung auf http-Protokoll und Dateien aus "verzeichnis" (Tiefe 1)
Code:
for url in `lynx -dump "http://www.google.de" | grep -e " .[0-9+]\.\ "| cut -d "." -f 2- | grep "http:" | grep verzeichnis`; do
    lynx -dump "$url" | grep -e " .[0-9+]\.\ "| cut -d "." -f 2-
done


Und noch eine Ebene weiter runter (Tiefe 2) ;-)

Code:
for url in `lynx -dump "http://www.google.de" | grep -e " .[0-9+]\.\ "| cut -d "." -f 2- | grep "http:" | grep verzeichnis`; do
    for url2 in `lynx -dump "$url" | grep -e " .[0-9+]\.\ "| cut -d "." -f 2- | grep "http:" | grep verzeichnis`; do
        lynx -dump "$url2" | grep -e " .[0-9+]\.\ "| cut -d "." -f 2-
    done
done


Einfacher, aber nicht so "fein justierbar" ist wget -r (oder -m) oder schau dir mal httrack an, das ist auch sehr mächtig.
Back to top
View user's profile Send private message
schrippe
Guru
Guru


Joined: 03 Mar 2004
Posts: 556
Location: Mülheim

PostPosted: Sat Nov 18, 2006 12:43 pm    Post subject: Reply with quote

Danke!

Hatte es so ähnlich rausgefunden:
Quote:
set -x; for i in `lynx -dump "http://xxx.xxx.130.20:81/11092006/" | grep -e " .[0-9+]\.\ "| cut -d "." -f 2-`; do `lynx -dump $i | grep -e " .[0-9+]\.\ "| cut -d "." -f 2-`; done


klappte aber nicht. jetzt weiß ich wieso.

per wget -r wollte er nicht in die verzeichnisse absteigen.
_________________
for i in $(seq 1 565); do echo 'A$i: entweder rechts fahren oder rechts überholen dürfen!';done
Back to top
View user's profile Send private message
schrippe
Guru
Guru


Joined: 03 Mar 2004
Posts: 556
Location: Mülheim

PostPosted: Sat Nov 18, 2006 1:57 pm    Post subject: Reply with quote

ich will ja nicht nerven, aber was mache ich bei zwei substitutionen einem aufruf?

Code:

for i in `awk "NR==$(($RANDOM % `wc -l < url.list` + 1))" url.list`; do echo "$i"; done


Er soll mir bei jedem durchlauf immer eine andere zeile aus der datei url.list ausgeben.
Jetzt bricht das script nach einer zeile ab. also wird nur eine datei runtergeladen.
Er soll aber die gesamte liste (ca. 100 zeilen) nacheinander abarbeiten. Es wird ein benchmark werden.

thx
_________________
for i in $(seq 1 565); do echo 'A$i: entweder rechts fahren oder rechts überholen dürfen!';done
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Sat Nov 18, 2006 4:27 pm    Post subject: Reply with quote

schrippe wrote:
for i in `awk "NR==$(($RANDOM % `wc -l < url.list` + 1))" url.list`; do echo "$i"; done

Du hast da ein Mißverständnis. Also der awk-Befehl liefert exakt 1 Zeile. Diese wird durch das for abgearbeitet. Danach ist das Script zu Ende. Allerdings wäre dann auch ein Syntaxfehler drin, denn Du hast eine Verschachtelung der `` die so nicht sein kann.

Wenn Du möchtest das er alle Zeilen durchläuft müssen alle Zeilen "aufeinmal in der For-Schleife" landen. Beispiel:
Code:
for i in `cat url.list`; do echo "$i"; done

Sollen die zufällig sein solltest Du vorher die Datei (ich weiß jetzt nicht wie) zufällig sortieren.

EDIT: zufällig: cat url.list | sort -R
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum