ftp Verzeichnis auf lokales Verzeichnis sichern
- Python 100%
| Logfiles | ||
| .ftp_backup.py.bak.V1.3.6.py.kate-swp | ||
| Backup_NetCal_Archiv.log.001.zip | ||
| config_NetCal_Archive.ini | ||
| config_NetCal_DBBackups.ini | ||
| config_NetCal_PDF-Backups.ini | ||
| ftp_backup.py | ||
| ftp_backup.py.bak.V1.3.6 | ||
| ftp_backup.py.bak.V1.3.6.py | ||
| ftp_backup.py.bakV1.0 | ||
| ftp_backup.py.bakV1.2 | ||
| ftp_backup_NetCal_Archive.service | ||
| ftp_backup_NetCal_Archive.timer | ||
| ftp_backup_NetCal_DBBackups.service | ||
| ftp_backup_NetCal_DBBackups.timer | ||
| ftp_backup_NetCal_PDF-Backups.service | ||
| ftp_backup_NetCal_PDF-Backups.timer | ||
| README.md | ||
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.STOPBeendet 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