1.7 KiB
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:
dockermit Compose-Plugintarundgzipsshpassundsftp- optional
mailfü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
/tmpgeschrieben. 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_TOgesetzt ist und das System ein funktionierendesmail-Kommando besitzt.
Weitere Details stehen in docs/README.md.