Backup und Rollback des Dateisystems, der Medien und der Datenbank
Mit diesem Befehl können Sie Folgendes sichern:
- Das Dateisystem (außer den Verzeichnissen
var
undpub/static
) - Das Verzeichnis
pub/media
- Die Datenbank
Sicherungen werden im Verzeichnis var/backups
gespeichert und können jederzeit mithilfe des Befehls magento setup:rollback
wiederhergestellt werden.
Nach der Sicherung können Sie Rollback später wiederherstellen.
Sicherungen aktivieren
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 Sicherungsfunktion wird ab 2.1.16, 2.2.7 und 2.3.0 nicht mehr unterstützt. Es wird empfohlen, zusätzliche Sicherungstechnologien und Binär-Backup-Tools (wie Percona XtraBackup) zu untersuchen.
Legen Sie die Grenze für geöffnete Dateien fest
Wenn Sie zu einer vorherigen Sicherung zurückkehren, kann es passieren, dass unvollständige Daten mit dem Befehl magento setup:rollback
in das Dateisystem oder die Datenbank geschrieben werden.
Manchmal führt eine lange Abfragezeichenfolge dazu, dass der zugewiesene Arbeitsspeicher des Benutzers aufgrund zu vieler rekursiver Aufrufe nicht mehr genügend Arbeitsspeicher hat.
Festlegen offener Dateien ulimit
Es wird empfohlen, die geöffneten Dateien ulimit
für den Dateisystembenutzer auf den Wert 65536
oder höher festzulegen.
Sie können dies entweder über die Befehlszeile tun oder durch Bearbeiten des Shell-Skripts zu einer dauerhaften Einstellung für den Benutzer machen.
Bevor Sie fortfahren, wechseln Sie, falls noch nicht geschehen, zum Dateisysteminhaber.
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
. Weitere Informationen finden Sie auf einer Manpage oder in der Betriebssystemreferenz.So legen Sie optional den Wert in der Bash-Shell des Benutzers fest:
-
Wenn Sie dies noch nicht getan haben, wechseln Sie zum Dateisysteminhaber.
-
Öffnen Sie
/home/<username>/.bashrc
in einem Texteditor. -
Fügen Sie die folgende Zeile hinzu:
code language-bash ulimit -s 65536
-
Speichern Sie Ihre Änderungen in
.bashrc
und beenden Sie den Texteditor.
php.ini
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:
-
Setzt den Speicher in den Wartungsmodus.
-
Führt eine der folgenden Befehlsoptionen aus.
table 0-row-3 1-row-3 2-row-3 3-row-3 Option Bedeutung Name und Speicherort der Sicherungsdatei --code
Sichert das Dateisystem (außer var- und pub/static-Verzeichnissen). var/backups/<timestamp>/_filesystem.tgz
--media
Sichern Sie das Verzeichnis "pub/media". var/backups/<timestamp>/_filesystem_media.tgz
--db
Sichern Sie die Datenbank. var/backups/<timestamp>/_db.sql
-
Der Speicher wird nicht mehr im Wartungsmodus ausgeführt.
Um beispielsweise das Dateisystem und die Datenbank zu sichern,
bin/magento setup:backup --code --db
Meldungen, die der folgenden Anzeige ähneln:
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 zu einem zuvor erstellten Backup zurückkehren. Sie müssen den Dateinamen der wiederherzustellenden Sicherungsdatei kennen.
Geben Sie Folgendes ein, um den Namen Ihrer Sicherungen zu ermitteln:
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 eine Mediensicherung mit dem Namen 1440611839_filesystem_media.tgz
wiederherzustellen, geben Sie
bin/magento setup:rollback -m 1440611839_filesystem_media.tgz
Meldungen, die der folgenden Anzeige ähneln:
[SUCCESS]: Media rollback completed successfully.
Please set file permission of bin/magento to executable
Disabling maintenance mode