2016-11-24 1 views
0

Ich bin mit einem SFTP-Server IP-Adresse | gegeben Benutzername | Passwort. Der SFTP-Server verfügt möglicherweise über eine Anzahl von N Zips pro Tag im Format "2016_11_02_1.zip". Ich wusste, wie man die Dateien mit cURL herunterladen kann.Verwenden von Bash zum rekursiven Download der Dateien von SFTP-Server

$curl -u xxxxx:xxxxx sftp://x.x.x.x/path/to/2016_11_02_1.zip 
$curl -u xxxxx:xxxxx sftp://x.x.x.x/path/to/2016_11_02_2.zip 

Jetzt werde ich ein Skript schreiben, die zur Verfügung stehenden ZIP-Dateien auf dem SFTP-Server (2016_11_02_1.zip, 2016_11_02_2.zip, 2016_11_02_3.zip) zum Download bereit. Nach einigen Stunden kann der SFTP-Server mit 2016_11_02_4.zip ..... 2016_11_02_30.zip.

hinzugefügt werden. Wie kann ich die Dateien herunterladen, ohne die bereits heruntergeladenen ZIP-Dateien (2016_11_02_1.zip , 2016_11_02_2.zip , 2016_11_02_3.zip) herunterzuladen.

Irgendwelche Vorschläge bitte?

+1

Können Sie über ssh auf den Server zugreifen? Wenn ja, würde ich 'rsync' vorschlagen. – Cyrus

+0

@Cyrus Ja, ich kann über ssh zugreifen. Ich werde auch in rsync schauen. – Arun

Antwort

1

Haben Sie noch die zuvor heruntergeladenen Dateien? Wenn ja, können Sie überprüfen, ob auf Ihrem lokalen Datenträger bereits eine Datei mit diesem Namen vorhanden ist.

+0

Ja, ich werde die vorher heruntergeladenen Dateien haben. Jetzt muss ich die Dateien auf meiner lokalen Festplatte und dem SFTP-Server vergleichen. Wenn etwas gemeinsam ist, überspringen Sie das und laden Sie die Nicht existierenden herunter. – Arun

+0

Klingt richtig. Kannst du meine Antwort dann als richtig markieren? –

+0

BTW das ist genau das, was Rsync für Sie tut, außer besser ... – spinkus

1

Wenn mit SFTP sichere FTP gemeint ist, können Sie einfach rsync mit SSH-Unterstützung (> = 3.X denke ich) verwenden, da SFTP Teil von SSH ist. Beispiel:

rsync -av [email protected]:/path/to/`date +%Y`* 
Verwandte Themen