Ordner liste auslesen -wget

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Spike1986
Beiträge: 153
Registriert: 25.01.2012 20:16:47

Ordner liste auslesen -wget

Beitrag von Spike1986 » 29.12.2013 02:29:07

Ich lade per wget Befehl eine Bestimmte datei vom FTP Server runter.

Gibt es eine Möglichkeit das mir das Script die Ordner Namen in einer Variable legt.

z.b ftp://192.168.1.3/daten > zwei Ordner test und test1

im Script soll dann test und test1 gelesen werden vom FTP und in eine Variable gesetzt werden. Da der Ordner Namen bei manchen verschieden ist.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Ordner liste auslesen -wget

Beitrag von rendegast » 29.12.2013 11:31:45

Du könntest in einem ersten Schritt mit '--no-remove-listing' ohne Datei-Download arbeiten,
und diese .listing für weitere Durchgänge parsen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Spike1986
Beiträge: 153
Registriert: 25.01.2012 20:16:47

Re: Ordner liste auslesen -wget

Beitrag von Spike1986 » 29.12.2013 11:55:01

Da auf dem Server im Ordner mehrere Dateien in eine tar.gz gepackt wird, dies passiert auch per Script.
Liest das Script (auf dem Server) die Ordner Namen und schreibt dies in eine txt diese lade ich dann runter.

list.txt

Code: Alles auswählen

astra
hotbird
engländer
Nun wollte ich das gern in eine abfrage bauen. Sobald die abfrage ja ist soll eine Variable gesetzt werden und das Script mit dem nächsten Schritt weiterlaufen.

Code: Alles auswählen

#!/bin/sh
#
test=$(cat /media/hdd/list.txt)

urlencode() {
local string="$TEST"
local strlen=${#string}
local encoded=""

	for (( pos=0 ; pos<strlen ; pos++ )); do
    c=${string:$pos:1}
    case "$c" in
		[-_.~a-zA-Z0-9] ) o="${c}" ;;
		* )               printf -v o '%%%02x' "'$c"
    esac
    encoded+="${o}"
	done
	echo "${encoded}"
	REPLY="${encoded}"
}

for TEST in $test; do
	wget -O /dev/null "http://localhost:80/web/message?text=$( urlencode "$args" )&type=0"
	
	while [ -z "$answer" ]; do
		answer=$(wget -O - 'http://localhost:80/web/messageanswer?getanswer=now' | egrep -o 'YES|NO') 
		sleep 1
	done
	
	if [ "$answer" = YES ]; then
		UPDATE=$TEST
		break
	fi
done

exit 0

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Ordner liste auslesen -wget

Beitrag von rendegast » 31.12.2013 09:57:01

schreibt dies in eine txt diese lade ich dann runter.
list.txt
....
Nun wollte ich das gern in eine abfrage bauen.
So

Code: Alles auswählen

www-browser -dump http://server/list.txt
www-browser -dump ftp://server/list.txt
oder (Debianlibwww-perl)

Code: Alles auswählen

GET http://server/list.txt
GET ftp://server/list.txt
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten