Haben Sie Fragen? Senden Sie uns doch eine Nachricht

OneSystems GmbH

OneSystems GmbH

System Management aus der Schweiz

+41 44 586 40 18
Email: info@onesystems.ch

OneSystems GmbH
Grindlenstrasse 9, 9630 Wattwil, Schweiz

Open in Google Maps
  • Home
  • Dienstleistungen
    • E-Mail
      • b1gMail Plugins
    • Hosting
    • Nextcloud
    • Monitoring
  • Blog
  • Hilfe & Support
    • Remote Support
  • Kontakt
  • Home
  • Blog
  • Docker
  • Automatisierte Backups mit Docker, Cron, Nextcloud Talk & E-Mail
21. Mai 2025

Automatisierte Backups mit Docker, Cron, Nextcloud Talk & E-Mail

Automatisierte Backups mit Docker, Cron, Nextcloud Talk & E-Mail

by Michael Kleger / Mittwoch, 30 April 2025 / Published in Docker

In diesem Beitrag zeige ich, wie man mit einem schlanken Alpine-basierten Docker-Container vollautomatische Backups von Dateien und Datenbanken durchführt. Perfekt für Self-Hosting, kleine Unternehmen oder professionelle Docker/Portainer-Umgebungen.

Was wird also gebraucht?

  • Ein bestehenden Docker Compose Stack
  • Backup-Quellen (Verzeichnisse, DB-Zugang)
  • Optional: Nextcloud mit Talk-Bot (über occ talk:bot:install eingerichtet)
  • Optional: SMTP-Zugang (z. B. Mailserver oder SMTP-Dienst)

 

OneSystems GmbH - Hosting

Beispiel docker-compose.yml

services:
  web:
   ...

 db:
   ...
  backup:
    image: onesystems/dockerbackup:latest
    restart: unless-stopped
    environment:
      BACKUP_NAME: "web-backup-db"
      STACK_NAME: "Production"
      FILES_TO_BACKUP: "/data"
      BACKUP_DIR: "/backup"
      LOG_DIR: "/log"
      RETENTION_DAYS: 30
      CRON_SCHEDULE: "0 * * * *"

      DB_TYPE: "postgres"
      POSTGRES_HOST: "postgres"
      POSTGRES_USER: "backupuser"
      POSTGRES_PASSWORD: "secret"
      POSTGRES_DATABASE: "myapp"

      NC_TALK_NOTIFY: "off"
      NC_TALK_URL: "https://cloud.example.com"
      NC_TALK_BOT_CHANNEL: "abc123"
      NC_TALK_BOT_SECRET: "your_shared_hmac_secret"

      EMAIL_NOTIFY: "off"
      EMAIL_TO: "alerts@example.com"
      EMAIL_FROM: "backup@host.local"
      SMTP_SERVER: "smtp.example.com"
      SMTP_PORT: 587
      SMTP_USER: "smtp-user"
      SMTP_PASS: "smtp-pass"
      SMTP_TLS: "on"

    volumes:
      - ./data:/data
      - ./backup:/backup
      - ./log:/log

    depends_on:
      - db

    healthcheck:
      test: ["CMD", "/scripts/healthcheck.sh"]
      interval: 5m
      timeout: 10s
      retries: 3
      start_period: 30s

Alle Optionen sind auf der Docker Hub Seite detailliert beschrieben:

https://hub.docker.com/repository/docker/onesystems/dockerbackup/general

Optional: Nextcloud Talk Bot

Wenn man zusätzlich zu E-Mail auch in ein eigenen Nextcloud Talk Unterhaltung schreiben möchte (was wir mit Checkmk z.B. auch bereits machen), kann dies auch aktivieren damit man stets auf dem laufenden bleibt wenn etwas nicht wie erwartet durchläuft.

Dafür muss man einen neuen Talk Bot erstellen (geht nur über die Kommandozeile):

php occ talk:bot:install --feature message "Docker"  https://meine.nextcloud.local/ocs/v2.php/apps/spreed/api/v1/bot/docker

Der Name „Docker“ sowie in der Url „/docker“ kann frei gewählt werden

Nach dem erstellen muss man den im Talk Fenster noch bei der entsprechenden Unterhaltung hinzufügen.

Docker Logs

      _______               _______               __ 
     |       |.-----.-----.|     __|.--.--.-----.|  |_.-----.--------.-----.
     |   -   ||     |  -__||__     ||  |  |__ --||   _|  -__|        |__ --|
_____|_______||__|__|_____||_______||___  |_____||____|_____|__|__|__|_____|______________________
                                    |_____|                                 

[2025-04-30 17:55:43] 📋 Crontab created
[2025-04-30 17:55:43] ⏳ Starting initial backup in 10 seconds...
[2025-04-30 17:55:43] 🕒 Starting cron service...
[2025-04-30 17:55:53] 🚀 Running initial backup...
[2025-04-30 17:55:53] 🔄 Starting backup...
[2025-04-30 17:56:00] ✅ File backup completed: /backup/2025-04/files_media_2025-04-30_1755.tar.gz
[2025-04-30 17:56:01] ✅ File backup completed: /backup/2025-04/files_certs_2025-04-30_1755.tar.gz
[2025-04-30 17:56:02] ✅ File backup completed: /backup/2025-04/files_templates_2025-04-30_1755.tar.gz
[2025-04-30 17:56:04] ✅ File backup completed: /backup/2025-04/files_redis_2025-04-30_1755.tar.gz
[2025-04-30 17:56:04] 🔍 Starting PostgreSQL backup...
[2025-04-30 17:56:06] ✅ PostgreSQL backup completed: /backup/2025-04/postgres_authentik_2025-04-30_1755.sql.gz
[2025-04-30 17:56:06] 🧹 Removing backups older than 30 days...
[2025-04-30 17:56:06] 🎉 Backup completed successfully
[2025-04-30 17:56:06] ✅ Initial backup completed

Fazit

Mit diesem Setup lassen sich Docker-Backups nicht nur automatisieren, sondern auch professionell überwachen und benachrichtigen. Ideal für produktive Umgebungen mit vielen Containern.

  • Tweet
Tagged under: Docker, email, file backup, mysql dump, nextcloud talk, postgresql dump

About Michael Kleger

What you can read next

Migration von Datenbanken in Docker: So gelingt das Upgrade sicher und sauber
Raspberry PI Docker Swarm Cluster
Einen eigenen Identitätsanbieter betreiben (Teil 3)

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..

Letzten Beiträge

  • Migration von Datenbanken in Docker: So gelingt das Upgrade sicher und sauber

    Datenbank-Upgrades gehören zu den Aufgaben, die...
  • Windows Server 2025 bereinigen

    Wenn man den Windows Server 2025 (sowie auch äl...
  • Anmelden über die Webcam unter Ubuntu einrichten

    Das einfache Anmelden über die Webcam wie man e...
  • Der eigene Mastodon Server

    Was ist Mastodon? Mastodon ist ein Mikrobloggin...
  • Wie kann man unter Ubuntu den Bildschirm teilen?

    Ich habe ab und an eine Präsentation und muss d...

Neueste Kommentare

  • Michael Kleger bei Mac OS X 10.11El Capitan‎: ISO für Installation erstellen
  • Danyel Gloser bei Mac OS X 10.11El Capitan‎: ISO für Installation erstellen
  • Wie kann man unter Ubuntu den Bildschirm teilen? - OneSystems GmbH bei Flatpack unter Ubuntu installieren
  • Der Weg von Windows zu Linux (Teil 1) - OneSystems GmbH bei Yubikey Manager und Yubico Authenticator unter Ubuntu installieren
  • Michael Kleger bei Eigener CardDAV- und CalDAV Server mit Baikal

Categories

  • b1gMail
  • CentOS
  • Debian
  • Docker
  • Identitätsanbieter
  • Linux
  • Mac OSX
  • Microsoft Exchange
  • Microsoft Outlook
  • Migration
  • Mint
  • Monitoring
  • Neuigkeiten
  • Nextcloud
  • PowerShell
  • Python
  • Raspberry Pi
  • Sicherheit
  • Tipps und Tricks
  • Ubuntu
  • VMware
  • Webseiten
  • Webserver
  • Windows
  • Windows zu Linux

Der IT-Dienstleister OneSystems GmbH mit Sitz in Wattwil versteht sich als Full-Service-Dienstleister für die Umsetzung und Betreuung von IT-Infrastrukturen, Internetseiten und individueller Programmierung. Wir betreuen Kunden aus der ganzen Schweiz, Deutschland und Österreich.

Wir legen grossen Wert auf eine technisch einwandfreie Umsetzung nach aktuellen Standards bei nachhaltiger Qualität.

Letzten Blog Posts

  • Migration von Datenbanken in Docker: So gelingt das Upgrade sicher und sauber

  • Windows Server 2025 bereinigen

  • Anmelden über die Webcam unter Ubuntu einrichten

Kontakt

Email: Kontaktformular

OneSystems GmbH
Grindlenstrasse 9
9630 Wattwil
Schweiz

Copyright © 2018-2025 OneSystems GmbH, Alle Rechte vorbehalten.
Impressum | Datenschutzerklärung | AGBs | Kontakt

TOP