ftp Verzeichnis auf lokales Verzeichnis sichern
Find a file
2025-07-21 14:20:35 +02:00
Logfiles V1.3.7 FTP Fehlerbehandlung optimiert 2025-07-21 14:20:35 +02:00
.ftp_backup.py.bak.V1.3.6.py.kate-swp V1.3.7 FTP Fehlerbehandlung optimiert 2025-07-21 14:20:35 +02:00
Backup_NetCal_Archiv.log.001.zip restliche NetCal Verzeichnisse konfiguriert 2025-07-18 20:32:44 +02:00
config_NetCal_Archive.ini V1.3 2025-07-20 16:39:00 +02:00
config_NetCal_DBBackups.ini V1.3 2025-07-20 16:39:00 +02:00
config_NetCal_PDF-Backups.ini V1.3 2025-07-20 16:39:00 +02:00
ftp_backup.py V1.3.7 FTP Fehlerbehandlung optimiert 2025-07-21 14:20:35 +02:00
ftp_backup.py.bak.V1.3.6 V1.3.7 FTP Fehlerbehandlung optimiert 2025-07-21 14:20:35 +02:00
ftp_backup.py.bak.V1.3.6.py V1.3.7 FTP Fehlerbehandlung optimiert 2025-07-21 14:20:35 +02:00
ftp_backup.py.bakV1.0 V1.1 2025-07-18 18:34:57 +02:00
ftp_backup.py.bakV1.2 V1.3 2025-07-20 16:39:00 +02:00
ftp_backup_NetCal_Archive.service V1.1 2025-07-18 18:34:57 +02:00
ftp_backup_NetCal_Archive.timer V1.3 2025-07-20 16:39:00 +02:00
ftp_backup_NetCal_DBBackups.service restliche NetCal Verzeichnisse konfiguriert 2025-07-18 20:32:44 +02:00
ftp_backup_NetCal_DBBackups.timer V1.3 2025-07-20 16:39:00 +02:00
ftp_backup_NetCal_PDF-Backups.service restliche NetCal Verzeichnisse konfiguriert 2025-07-18 20:32:44 +02:00
ftp_backup_NetCal_PDF-Backups.timer V1.3 2025-07-20 16:39:00 +02:00
README.md Update README.md 2025-07-18 21:05:23 +02:00

FTP Backup Script mit Statistik

Version: V1.1
Ein flexibles, konfigurierbares Python-Tool zur automatisierten Datensicherung über FTP.

Funktionen

  • Lädt rekursiv Verzeichnisse von einem FTP-Server herunter
  • Überspringt bereits vorhandene Dateien
  • Protokolliert Fortschritt und Fehler in einer Logdatei
  • Sendet eine E-Mail-Benachrichtigung nach Abschluss (erfolgreich oder fehlerhaft)
  • „Lebenszeichen“-Protokollierung während der Ausführung
  • Abbruchmöglichkeit durch STOP-Datei (Konfigfilename+".STOP", also z.B. config_NetCal_DIRXY.ini.STOP Beendet den Filetransfer sauber nach der nächsten Datei und beendet die Ausführung.
  • Unterstützung mehrerer Konfigurationen für verschiedene FTP-Quellen (mehrere ini Files)
  • Zeitgesteuerter Start über systemd

Konfiguration

Erstelle für jede FTP-Quelle eine eigene .ini-Datei, z. B. config_NetCal_DIRXY.ini.

Beispiel config_NetCal_DIRXY.ini

[ftp]
host = ftp.example.com
port = 2121
user = myuser
password = mypass
remote_dir = /remote/path

[local]
target_dir = /mnt/backup/ftp1

[options]
passive = true

[log]
log_file = /root/bin/ftp_backup/ftp1.log

[smtp]
smtp_server = smtp.example.com
smtp_port = 587
smtp_user = smtpuser
smtp_pass = smtppass
smtp_tls = true

[mail]
mail_from = backup@example.com
mail_to = admin@example.com
mail_subject_success = FTP-Backup erfolgreich
mail_subject_error = FTP-Backup FEHLER

Cronjobs über SystemD einrichten

ACHTUNG: die Zeiten die in den .timer Files angegeben sind, sind evtl. UTC, also -2h:
Wenn ein Skript um 20:00 laufen soll muss es evtl. auf 18:00 gesetzt werden

🏁 Aktivieren

bash sudo cp ftp_backup_NetCal_Archive.* /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now ftp_backup_NetCal_Archive.timer

🏁 Timer aktualisieren (z.B. Zeiten ändern)

bash sudo cp ftp_backup_NetCal_Archive.* /etc/systemd/system/ sudo systemctl daemon-reexec sudo systemctl daemon-reload sudo systemctl restart ftp_backup_NetCal_Archive.timer

sudo systemctl list-timers | grep ftp