データベースのバックアップ

サービスとマウントからすべての環境データを取得しなくても、ece-tools db-dump コマンドを使用してデータベースのコピーを作成できます。 デフォルトでは、このコマンドは、環境設定で指定されているすべてのデータベース接続のapp/var/ ディレクトリにバックアップを作成します。 DB ダンプ操作は、アプリケーションをメンテナンスモードに切り替え、コンシューマーキュープロセスを停止し、ダンプが開始される前にcron ジョブを無効にします。

DB ダンプに関する次のガイドラインを検討します。

  • 実稼動環境の場合、Adobeでは、サイトがメンテナンスモードの場合に発生するサービスの中断を最小限に抑えるために、オフピーク時にデータベースダンプ操作を実行することをお勧めします。
  • ダンプ操作中にエラーが発生した場合、コマンドはダンプ ファイルを削除してディスク容量を節約します。 詳細については、ログを確認してください(var/log/cloud.log)。
  • Pro実稼動環境の場合、このコマンドは3つの高可用性ノードのうち​ one ​からのみダンプされるため、ダンプ中に別のノードに書き込まれた実稼動データがコピーされない可能性があります。 コマンドは、コマンドが複数のノードで実行されないようにvar/dbdump.lock ファイルを生成します。
  • すべての環境サービスのバックアップを作成する場合、Adobeでは​ バックアップ ​を作成することをお勧めします。

コマンドにデータベース名を追加することで、複数のデータベースをバックアップできます。 次の例では、mainsalesの2つのデータベースをバックアップしています。

php vendor/bin/ece-tools db-dump main sales

その他のオプションについては、php vendor/bin/ece-tools db-dump --help コマンドを使用してください。

  • --dump-directory=<dir> - データベース ダンプのターゲット ディレクトリを選択します。 pub/mediapub/static​などのパブリック web ディレクトリは選択しないでください。
  • --remove-definers - データベースダンプからDEFINER ステートメントを削除します。

ステージング環境または実稼動環境でデータベースダンプを作成するには:

  1. SSHを使用してログインするか、トンネルを作成して、コピーするデータベースを含むリモート環境に接続します。

  2. 環境の関係を一覧表示し、データベースのログイン情報をメモします。

    code language-bash
    echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
    

    または

    code language-bash
    php -r 'print_r(json_decode(base64_decode($_ENV["MAGENTO_CLOUD_RELATIONSHIPS"]))->database);'
    
  3. データベースのバックアップを作成します。 DB ダンプのターゲットディレクトリを選択するには、--dump-directory オプションを使用します。

    note warning
    WARNING
    ターゲットディレクトリを指定する場合は、pub/mediapub/staticなどのパブリック web ディレクトリを選択しないでください。
    code language-bash
    php vendor/bin/ece-tools db-dump -- main
    

    回答サンプル:

    code language-none
    The db-dump operation switches the site to maintenance mode, stops all active cron jobs and consumer queue processes, and disables cron jobs before starting the dump process.
    Your site will not receive any traffic until the operation completes.
    Do you wish to proceed with this process? (y/N)? y
    2020-01-28 16:38:08] INFO: Starting backup.
    [2020-01-28 16:38:08] NOTICE: Enabling Maintenance mode
    [2020-01-28 16:38:10] INFO: Trying to kill running cron jobs and consumers processes
    [2020-01-28 16:38:10] INFO: Running Magento cron and consumers processes were not found.
    [2020-01-28 16:38:10] INFO: Waiting for lock on db dump.
    [2020-01-28 16:38:10] INFO: Start creation DB dump for main database...
    [2020-01-28 16:38:10] INFO: Finished DB dump for main database, it can be found here: /app/qxmtlseakof6y/var/dump-main-1580229490.sql.gz
    [2020-01-28 16:38:10] INFO: Backup completed.
    [2020-01-28 16:38:11] NOTICE: Maintenance mode is disabled.
    
  4. db-dump コマンドは、リモート プロジェクト ディレクトリにdump-<timestamp>.sql.gz アーカイブ ファイルを作成します。

TIP
このデータを特定の環境にプッシュする場合は、​ データと静的ファイルの移行を参照してください。
recommendation-more-help
commerce-on-cloud-help-cloud-guide