Sichern und Rollback von Dateisystem, Medien und Datenbank
Erstellt für:
- Experte
- Admin
- Entwickler
Mit diesem Befehl können Sie Folgendes sichern:
- Das Dateisystem (ohne
var
- undpub/static
) - Das
pub/media
- Die Datenbank
Backups werden im var/backups
Verzeichnis gespeichert und können jederzeit mit dem Befehl magento setup:rollback
wiederhergestellt werden.
Nach dem Sichern können Sie später Rollback.
Aktivieren von Backups
Die Sicherungsfunktion ist standardmäßig deaktiviert. Geben Sie zum Aktivieren den folgenden CLI-Befehl ein:
bin/magento config:set system/backup/functionality_enabled 1
Die Backup-Funktion ist seit 2.1.16, 2.2.7 und 2.3.0 veraltet. Wir empfehlen, zusätzliche Backup-Technologien und binäre Backup-Tools (wie Percona XtraBackup) zu untersuchen.
Festlegen des Limits für geöffnete Dateien
Ein Rollback zu einem vorherigen Backup kann im Hintergrund fehlschlagen, was dazu führt, dass mit dem magento setup:rollback
-Befehl unvollständige Daten in das Dateisystem oder die Datenbank geschrieben werden.
Manchmal führt eine lange Abfragezeichenfolge dazu, dass dem zugewiesenen Speicherplatz des Benutzers aufgrund zu vieler rekursiver Aufrufe der Speicher ausgeht.
So legen Sie geöffnete Dateien ulimit
Es wird empfohlen, den ulimit
„Offene Dateien“ für den Dateisystembenutzer auf einen Wert von 65536
oder mehr festzulegen.
Sie können dies entweder über die Befehlszeile oder eine dauerhafte Einstellung für den Benutzer festlegen, indem Sie sein Shell-Skript bearbeiten.
Wechseln Sie, bevor Sie fortfahren, zum Dateisystembesitzer, falls Sie dies noch nicht getan haben.
Befehl:
ulimit -s 65536
Sie können dies bei Bedarf in einen größeren Wert ändern.
ulimit
hängt von der verwendeten UNIX-Shell ab. Die vorherige Einstellung sollte mit CentOS und Ubuntu mit der Bash-Shell funktionieren. Für macOS ist die richtige Einstellung jedoch ulimit -S 65532
. Lesen Sie eine Manpage oder Betriebssystemreferenz, um weitere Informationen zu erhalten.Um optional den Wert in der Bash-Shell des Benutzers festzulegen:
-
Wechseln Sie, falls noch nicht geschehen, zum Dateisystembesitzer.
-
Öffnen Sie
/home/<username>/.bashrc
in einem Texteditor. -
Fügen Sie die folgende Zeile hinzu:
ulimit -s 65536
-
Speichern Sie Ihre Änderungen in
.bashrc
und beenden Sie den Texteditor.
php.ini
-Datei keinen Wert für pcre.recursion_limit
festzulegen, da dies zu unvollständigen Rollbacks ohne Fehlermeldung führen kann.Sichern
Befehlsverwendung:
bin/magento setup:backup [--code] [--media] [--db]
Der Befehl führt die folgenden Aufgaben aus:
-
Versetzt den Speicher in den Wartungsmodus.
-
Führt eine der folgenden Befehlsoptionen aus.
OptionBedeutungName und Speicherort der Sicherungsdatei--code
Sichert das Dateisystem (ohne var- und pub/static-Verzeichnisse).var/backups/<timestamp>/_filesystem.tgz
--media
Sichern Sie das Pub/Media-Verzeichnis.var/backups/<timestamp>/_filesystem_media.tgz
--db
Sichern Sie die Datenbank.var/backups/<timestamp>/_db.sql
-
Entfernt den Speicher aus dem Wartungsmodus.
Um beispielsweise das Dateisystem und die Datenbank zu sichern,
bin/magento setup:backup --code --db
Meldungen ähnlich der folgenden werden angezeigt:
Enabling maintenance mode
Code backup is starting...
Code backup filename: 1434133011_filesystem.tgz (The archive can be uncompressed with 7-Zip on Windows systems)
Code backup path: /var/www/html/magento2/var/backups/1434133011_filesystem.tgz
[SUCCESS]: Code backup completed successfully.
DB backup is starting...
DB backup filename: 1434133011_db.sql
DB backup path: /var/www/html/magento2/var/backups/1434133011_db.sql
[SUCCESS]: DB backup completed successfully.
Disabling maintenance mode
Rollback
In diesem Abschnitt wird beschrieben, wie Sie ein Backup wiederherstellen, das Sie zuvor erstellt haben. Sie müssen den Dateinamen der wiederherzustellenden Sicherungsdatei kennen.
Um den Namen Ihrer Backups zu finden, geben Sie Folgendes ein:
bin/magento info:backups:list
Die erste Zeichenfolge im Namen der Sicherungsdatei ist der Zeitstempel.
Um zu einer vorherigen Sicherung zurückzukehren, geben Sie Folgendes ein:
bin/magento setup:rollback [-c|--code-file="<name>"] [-m|--media-file="<name>"] [-d|--db-file="<name>"]
Um beispielsweise ein Medienbackup mit dem Namen 1440611839_filesystem_media.tgz
wiederherzustellen, geben Sie Folgendes ein
bin/magento setup:rollback -m 1440611839_filesystem_media.tgz
Meldungen ähnlich der folgenden werden angezeigt:
[SUCCESS]: Media rollback completed successfully.
Please set file permission of bin/magento to executable
Disabling maintenance mode