Files
docker-backup-sftp-uploader/README.md
T
2026-06-07 20:02:33 +02:00

1.7 KiB

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
chmod +x docker-backup-sftp-uploader.sh
./docker-backup-sftp-uploader.sh

Die Konfiguration liegt in docker-backup-sftp-uploader.conf neben dem Script:

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:

./docker-backup-sftp-uploader.sh

Falls eine andere Konfigurationsdatei genutzt werden soll:

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.