J
JCB
Mitglied
Moin,
Folgendes Script soll checken ob es auf dem Server neue Dateien eines bestimmten Musters gibt und diese dann herunterladen. Soweit ist mein Script schon fertig, nur habe ich aus VB Zeiten noch die Zeile in erinnerung die eine For-Schleife in einen String einlesen kann. Die Bash sträubt sich da noch etwas. Was mache ich da falsch?? Nicht lachen, bin noch nicht der Mega Coder, aber bis auf die Schleife macht es was ich will Der String soll dann alle Dateinamen die downzuloaden sind, getrennt mit Leerzeichen enthalten.
Gruß,
JCB
Folgendes Script soll checken ob es auf dem Server neue Dateien eines bestimmten Musters gibt und diese dann herunterladen. Soweit ist mein Script schon fertig, nur habe ich aus VB Zeiten noch die Zeile in erinnerung die eine For-Schleife in einen String einlesen kann. Die Bash sträubt sich da noch etwas. Was mache ich da falsch?? Nicht lachen, bin noch nicht der Mega Coder, aber bis auf die Schleife macht es was ich will Der String soll dann alle Dateinamen die downzuloaden sind, getrennt mit Leerzeichen enthalten.
Code:
#!/bin/sh
cd /pub/dnb/ftp/gb/fromgb
#liste holen und in lokaler Datei speichern
lftp -c "open -u username,password ftp.server.com/gets; ls C???M*.zip > /var/log/globalbatch"
#formatieren zu datei namens gbcurrent
cut -f 12 -d " " /var/log/globalbatch > /var/log/gbcurrent
#gbload, das was letztendlich runtergeladen werden soll als Liste erstellen
comm -3 /var/log/gbcurrent /var/log/gbold > /var/log/gbload
#gbload in variable einlesen
for i in `cat /var/log/gbload`; do
downloads=$downloads$i;
done;
lftp -c "open -u username,password ftp.server.com/gets; get $downloads"
#derzeitiger Verzeichnisinhalt als old speichern
cp /var/log/gbcurrent /var/log/gbold
#alle dateien entpacken
unzip $downloads
Gruß,
JCB