Kapitel 13: SFTP-Server anbinden
Übung im Browser prüfbar
Schreibe sftp_holen.py, das:
- alle
.csv-Dateien im Server-Ordneruploadin den lokalen Ordnereingang/herunterlädt (Ordner anlegen, falls nötig), - jede erfolgreich heruntergeladene Datei auf dem Server in den Ordner
upload/archivverschiebt (Ordner anlegen, falls nötig), - Dateien überspringt, die lokal schon vorhanden sind, und das mit
loggingmeldet, - Zugangsdaten aus Umgebungsvariablen liest.
Beim Ausführen läuft ein SFTP-Übungsserver; SFTP_HOST, SFTP_PORT, SFTP_USER und
SFTP_PASSWORD sind gesetzt, und sein Host Key steht in ~/.ssh/known_hosts. Nutze also
load_system_host_keys() mit RejectPolicy() wie im Kapitel. Nach dem Lauf siehst du,
welche Dateien auf dem Server und lokal liegen.
📂 Dein SFTP-Übungsserver
Beim Ausführen startet ein SFTP-Server nur für dich. Er enthält anfangs ein paar
Beispieldateien in upload/. Server-Ordner und dein lokaler Arbeitsordner (mit eingang/)
bleiben zwischen den Läufen erhalten. Die Prüfung nutzt jedes Mal einen frischen Server.
✓ So wird geprüft
- ○ Alle .csv-Dateien aus upload landen in eingang/
- ○ Geholte Dateien werden nach upload/archiv verschoben
- ○ Ein vorhandener Ordner upload/archiv stört nicht
- ○ Lokal vorhandene Dateien werden übersprungen und per logging gemeldet
- ○ Ein zweiter Lauf ist harmlos
- ○ Zugangsdaten kommen aus Umgebungsvariablen
- ○ Unbekannte Server werden abgelehnt (Host Key wird geprüft)
sftp_holen.py
Eingaben für „Ausführen“ (input und Argumente)
Ausgabe