forked from schiwagoa/docker-backup-sftp-uploader
42 lines
1.5 KiB
Markdown
42 lines
1.5 KiB
Markdown
# 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 wichtigsten Einstellungen können direkt im Script angepasst oder als Umgebungsvariablen gesetzt werden:
|
|
|
|
```bash
|
|
export SFTP_HOST="backup.example.com"
|
|
export SFTP_PORT="22"
|
|
export SFTP_USER="backup-user"
|
|
export SFTP_PASS="secret"
|
|
export SFTP_REMOTE_DIR="/uploads"
|
|
export MAIL_TO="admin@example.com"
|
|
export MAIL_FROM="backup@example.com"
|
|
export BACKUP_DIR="/srv/backups/docker-backup-sftp-uploader"
|
|
./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).
|