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 BackupDanach 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.