ファイル・システム、メディア、データベースのバックアップとロールバック
このコマンドを使用すると、次のバックアップを実行できます。
- ファイルシステム (
var
およびpub/static
ディレクトリ ) - The
pub/media
directory - データベース
バックアップは、 var/backups
ディレクトリに保存され、いつでも magento setup:rollback
コマンドを使用します。
バックアップ後、次の操作を実行できます。 rollback 後で。
バックアップを有効にする
バックアップ機能は、デフォルトで無効になっています。 有効にするには、次の CLI コマンドを入力します。
bin/magento config:set system/backup/functionality_enabled 1
バックアップ機能は、2.1.16、2.2.7、および 2.3.0 で非推奨(廃止予定)となりました。追加のバックアップテクノロジーとバイナリバックアップツール(Percona XtraBackup など)を調査することをお勧めします。
開くファイルの制限を設定する
前回のバックアップへのロールバックは、警告なく失敗し、不完全なデータが magento setup:rollback
コマンドを使用します。
長いクエリ文字列を指定すると、再帰呼び出しが多すぎるため、ユーザーが割り当てたメモリ領域が不足する場合があります。
開いているファイルを設定する方法 ulimit
「開く」ファイルを設定することをお勧めします ulimit
( ファイル・システム・ユーザーの値が 65536
その他。
これは、コマンドラインで実行するか、シェルスクリプトを編集してユーザーに対して永続的な設定にすることができます。
続行する前に、まだおこなっていない場合は、 ファイルシステム所有者.
コマンド:
ulimit -s 65536
必要に応じて、この値を大きい値に変更できます。
ulimit
使用する UNIX シェルに依存します。 上記の設定は、Bash シェルで CentOS および Ubuntu で動作します。 ただし、macOSの場合、正しい設定は次のようになります。 ulimit -S 65532
. 詳細は、のマニュアルページまたはオペレーティングシステムのリファレンスを参照してください。ユーザーの Bash シェルで値をオプションで設定するには、次の手順を実行します。
-
まだおこなっていない場合は、 ファイルシステム所有者.
-
開く
/home/<username>/.bashrc
をクリックします。 -
次の行を追加します。
code language-bash ulimit -s 65536
-
変更をに保存します。
.bashrc
をクリックし、テキストエディタを終了します。
pcre.recursion_limit
(内) php.ini
ファイルを作成する必要があります。バックアップ中
コマンドの使用:
bin/magento setup:backup [--code] [--media] [--db]
このコマンドは、次のタスクを実行します。
-
ストアをメンテナンスモードにします。
-
次のいずれかのコマンドオプションを実行します。
table 0-row-3 1-row-3 2-row-3 3-row-3 オプション 意味 バックアップファイルの名前と場所 --code
ファイル・システムをバックアップします(var および pub/static ディレクトリを除く)。 var/backups/<timestamp>/_filesystem.tgz
--media
pub/media ディレクトリをバックアップします。 var/backups/<timestamp>/_filesystem_media.tgz
--db
データベースをバックアップします。 var/backups/<timestamp>/_db.sql
-
メンテナンスモードからストアを削除します。
たとえば、ファイル・システムとデータベースをバックアップするには、次のようにします。
bin/magento setup:backup --code --db
次のようなメッセージが表示されます。
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
ロールバック
このセクションでは、以前に作成したバックアップにロールバックする方法について説明します。 復元するバックアップファイルのファイル名を把握しておく必要があります。
バックアップの名前を検索するには、次のように入力します。
bin/magento info:backups:list
バックアップファイル名の最初の文字列は、タイムスタンプです。
以前のバックアップにロールバックするには、次のように入力します。
bin/magento setup:rollback [-c|--code-file="<name>"] [-m|--media-file="<name>"] [-d|--db-file="<name>"]
例えば、次の名前のメディアバックアップを復元するには、次のように指定します。 1440611839_filesystem_media.tgz
,と入力します。
bin/magento setup:rollback -m 1440611839_filesystem_media.tgz
次のようなメッセージが表示されます。
[SUCCESS]: Media rollback completed successfully.
Please set file permission of bin/magento to executable
Disabling maintenance mode