View previous topic :: View next topic |
Author |
Message |
schrippe Guru
Joined: 03 Mar 2004 Posts: 556 Location: Mülheim
|
Posted: Thu Aug 11, 2005 1:05 pm Post subject: erstellen einer url liste? für alles in einem remote verz. |
|
|
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 |
|
|
schmutzfinger Veteran
Joined: 26 Oct 2003 Posts: 1287 Location: Dresden/Germany
|
Posted: Thu Aug 11, 2005 1:50 pm Post subject: |
|
|
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 |
|
|
schrippe Guru
Joined: 03 Mar 2004 Posts: 556 Location: Mülheim
|
Posted: Fri Aug 12, 2005 7:25 am Post subject: |
|
|
@ 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 |
|
|
schrippe Guru
Joined: 03 Mar 2004 Posts: 556 Location: Mülheim
|
Posted: Fri Nov 17, 2006 1:42 pm Post subject: |
|
|
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 |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Fri Nov 17, 2006 2:14 pm Post subject: |
|
|
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 |
|
|
schrippe Guru
Joined: 03 Mar 2004 Posts: 556 Location: Mülheim
|
Posted: Fri Nov 17, 2006 4:02 pm Post subject: |
|
|
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 |
|
|
schrippe Guru
Joined: 03 Mar 2004 Posts: 556 Location: Mülheim
|
Posted: Sat Nov 18, 2006 12:14 pm Post subject: |
|
|
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 |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Sat Nov 18, 2006 12:25 pm Post subject: |
|
|
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 |
|
|
schrippe Guru
Joined: 03 Mar 2004 Posts: 556 Location: Mülheim
|
Posted: Sat Nov 18, 2006 12:43 pm Post subject: |
|
|
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 |
|
|
schrippe Guru
Joined: 03 Mar 2004 Posts: 556 Location: Mülheim
|
Posted: Sat Nov 18, 2006 1:57 pm Post subject: |
|
|
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 |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Sat Nov 18, 2006 4:27 pm Post subject: |
|
|
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 |
|
|
|