Skip to main content
Home
Schatzchaeschtli 2026

Main navigation

  • Home
User account menu
  • Log in

Breadcrumb

  1. Home

Modul: Backup and Migrate Basics

By PierreAdmin , 18 September 2026

Basic Tutorial zur vorgefertigten Drupal 11 Einstellung, die mir Martin empfohlen hat.

Nach der Installation und Aktivierung gehen wir Schritt für Schritt durch die einzelnen Formulare.

Status message
In order to encrypt backup files, please install the Defuse PHP-encryption library via Composer with the following command: composer require defuse/php-encryption. See the Defuse PHP Encryption Documentation Page for more information.
Saved the DB Dump -- Debugging Full Settings Profile.
WICHTIG: Diese Message ignorieren wir. Wir müssen das Backup nicht verschlüsseln. Die Dumps liegen sicher in /private und werden auch nicht gross an andere Orte verschoben. Somit nicht wirklich nötig die DB-Dumps für sich nochmal zu verschlüsseln.

1. -- Settings

1.1 Settings Profiles

Wir erstellen zwei verschiedene Settings. Den Standard-Dump der nur die relevanten Tabellen enthält und einen vollständigen Dump (Debug Full), der Caches, Watchdog und Sessions enthält. Also auch die Tabellen, die wir beim Standard explizit ausschliessen. Dieser zweite Dump wird nur im normalen Schedule nicht genutzt, nur für manuelle Backups bei Problemen, Watchdog oder Cachetabellen sauber untersuchen zu können.

DB Dump -- Standard

  • Label: DB Dump -- Stanard (db_dump_standard)
  • Backup File: db_dump_standard
  • Append a timestamp: Ein
    • Y-m-d\TH-i-s
  • Compression: GZip
  • Take site offline: Aus
  • E-Mail Settings: Alle aus
    Da wir stündlich Backups schreiben, macht diese Funktion keinen Sinn.
  • Exclude these tables entirely: Nichts auswählen
    Wir möchten alle Tabellen ausgeben, aber nicht alle Inhalte. Deshalb sollen hier auch leere Tabellen, die wir im nächsten Feld definieren immer ins Backup geschrieben werden.
  • Exclude data from these tables: Nichts auswählen
    Durch das nachfolgende Feld patterns, lassen wir hier nichts angewählt, um Doppelspurigkeiten zu vermeiden. Mit den patterns können wir das einfacher und übersichtlicher definieren.
  • Exclude data from the tables matching these patterns
    Wir filtern damit ALLE cachetabellen aus. Auch wenn später durch neue Module oder Updates neue cache-Tabellen dazukommen, müssen wir hier nicht die unübesichtliche Liste durchscrollen, sondern durch die Pattern sind immer sämtliche Cachetabellen enthalten.
    • cache_*
      search_api_db_*
      sessions
      watchdog
  • Exclude Files from Private und Public Directories
    können wir einfach so stehen lassen. Wir benutzen Backup and Migrate nur für die Datenbank Sicherungen.

DB Dump -- Debugging Full

Nicht aufgelistete Einstellungen wie oben.

  • Label: DB Dump -- Debugging Full (db_dump_debugging_full)
  • Backup File: db_dump_debugging_full
  • Exclude data from the tables matching these patterns
    Da wir für Debugging den kompletten DB-Inhalt ausgeben, bleibt auch dieses Feld leer. Wir schliessen also nichts aus.

1.2 -- Settings Destinations

Hier definieren wir die Unterverzeichnisse, wo die verschiedenen terminierten Backups hingespeichert werden. 

  • Label: Daily Backups (daily_backups)
  • Server file directory: private://backup_migrate/10_hourly_backups
    private:// greift auf den privaten Ordner zu, der in settings.php definiert ist.
    • Folgende Namensstruktur habe ich der Übersichtlichkeit halber definiert
    • 10--Hourly Backups       10_hourly_backups    
      20--Daily Backups           20_daily_backups    
      30--Weekly Backups         30_weekly_backups    
      40--Monthly Backups         40_monthly_backups    
      99--Debug Backups full   99_debug_backups_full

1.3 -- Settings Sources

Müssen wir nicht bearbeiten. Hier werden die Defaults von Backup and Migrate angezeigt und lassen sich auch nicht ändern. Für mein Setup genügt aber die Vorlage für den Datenbank Dump > Default Drupal Database. 

2. -- Schedules

Hier werden die automatisierten Backups definiert und festgelegt, wieviele Backups gespeichert werden. 

Das Prinzip: 
Wir speichern stündlich, täglich, wöchentlich und montatlich.
Dadurch haben wir:

24 Stunden zurück    stündlich   1 Backup
30 Tage zurück       täglich     1 Backup
4 Wochen zurück      wöchentlich 1 Backup
13 Monate zurück     monatlich   1 Backup

Danach werden die ältesten Files überschrieben. So gewähren wir 1 Jahr zurück regelmässige Backups auf die wir zurückgreifen können.

Im Schedule definieren wir

  • Schedule Name: 10--Hourly Backup (10_hourly_backup)
  • Schedule enabled: Ein
  • Backup Source: Default Drupal Database
  • Backup Destination: 10--Hourly Backups
  • Settings Profile: DB Dump -- Standard
  • Frequency: Run every 58 Minutes (bzw. gewünschter Intervall)
  • Number to keep: 25

Die Zeitverschiebung bei stündlich definieren wir so, damit nicht zu viele Cronjobs später zur gleichen Zeit starten und die Gefahr besteht, dass die Laufzeit zu lange ist und abbricht.

3. -- Backup

Hier können wir manuell Backups auslösen. In der Regel reicht hier sicher Quick Backup, wo wir auf unsere zwei Profile «Standard» und «Debug Full» zugreifen können, sowie das Verzeichnis auswählen können.

4. -- Restore

Hier kann man eigene DB-dumps hochladen und einlesen.

5. -- Saved Backups

Hier werden die alle Destinations und die darin gespeicherten Backups angezeigt. Über den Restore Button wird der Dump wieder eingespielt.

  • drupal
  • drupal 11
  • modul
  • backup and migrate
Module

Tag Suche

Categories (Taxonomie-Menu)

  • Drupal
    • Module
    • Theming
    • Views
  • Webentwicklung
    • Composer
    • CSS/SCSS
    • Deployment
    • Drush
    • Git
    • HTML
    • JavaScript
    • PHP
    • SSH
    • SVG
    • VS Code
  • Datenbank
    • mySQL
  • Server
    • Apache
    • DNS
    • Domains
    • Plesk
    • SSL/TLS
  • System
    • Mac
    • Unix
    • Windows