# Docker Backup SFTP Uploader Dieses Repository enthält ein Bash-Script, das ein Docker-Compose-Projekt kurz stoppt, das Projektverzeichnis als `tar.gz` archiviert, das Archiv per SFTP hochlädt und optional eine Status-Mail verschickt. ## Nutzung Voraussetzungen auf dem Server: - `docker` mit Compose-Plugin - `tar` und `gzip` - `sshpass` und `sftp` - optional `mail` für Status-Mails ```bash chmod +x docker-backup-sftp-uploader.sh ./docker-backup-sftp-uploader.sh ``` Die Konfiguration liegt in `docker-backup-sftp-uploader.conf` neben dem Script: ```bash SFTP_HOST="backup.example.com" SFTP_PORT="22" SFTP_USER="backup-user" SFTP_PASS="secret" SFTP_REMOTE_DIR="/uploads" MAIL_TO="admin@example.com" MAIL_FROM="backup@example.com" BACKUP_DIR="/srv/backups/docker-backup-sftp-uploader" LOG_DIR="/srv/backups/docker-backup-sftp-uploader/logs" KEEP_LOCAL_BACKUP="false" MIN_FREE_MB="1024" ``` Danach reicht: ```bash ./docker-backup-sftp-uploader.sh ``` Falls eine andere Konfigurationsdatei genutzt werden soll: ```bash CONFIG_FILE="/etc/docker-backup-sftp-uploader.conf" ./docker-backup-sftp-uploader.sh ``` ## Wichtige Hinweise - Archive und Logs werden nicht mehr in `/tmp` geschrieben. Standard ist ein Backup-Ordner neben dem Projektverzeichnis. - Vor dem Stoppen von Docker prüft das Script, ob am Backup-Ziel genug Speicher frei ist. - Bei Fehlern versucht das Script, Docker wieder zu starten. - Der Upload erfolgt zuerst als `.part`-Datei und wird nach erfolgreichem Transfer auf den finalen Namen umbenannt. - Mailversand ist nur aktiv, wenn `MAIL_TO` gesetzt ist und das System ein funktionierendes `mail`-Kommando besitzt. Weitere Details stehen in [docs/README.md](docs/README.md).