GNU/Linux >> Linux の 問題 >  >> Linux

Drupalサイトのバックアップ/復元と移行にdrushを使用する

「Drush」または「DrupalShell」は、Drupal管理者の親友の1人です。その多くのコマンドラインツールを使用すると、ユーザーはWebサーバーにログインして、更新の適用、ユーザーのブロック、さらには新しいDrupalインストールの「ブートストラップ」などの日常的なタスクを実行できます。

他のソフトウェアと同様に、定期的なバックアップを維持することをお勧めします。これはDrupalの場合にも当てはまります。この場合、アドインモジュールを更新すると、簡単に元に戻せない特定のデータベース操作が実行されます。これらが他のモジュールまたはDrupalのコアで問題を引き起こす場合は、以前のバージョンに「ロールバック」できるようにする必要があります。

幸い、drushアプリケーションは、便利な「アーカイブ」ユーティリティと、対応する「復元」コマンドを提供します。

既存のインストールのバックアップ

drushコマンドには、drushardまたは「archivedump」コマンドなどの多くのサブコマンドが付属しています。このコマンドは、Drupalインストール内から(つまり、ディレクトリツリー内の任意の場所から)実行すると、次のアクションを実行します。

  • まず、サイトのデータベースのコピーをエクスポートします

  • 次に、インストールのすべてのファイルのコピーを取得します

  • 最後に、現在の作業ディレクトリにデータベースのエクスポートファイルとサイトファイルのアーカイブを作成します

これにより、以下の例に示す次のコマンドを使用して、サイトのスナップショットを作成できます。

Drushのdrushardコマンド。

drush ard
Database dump saved to [success] /tmp/drush_tmp_1477498943_5810d83f2ad81/mobius_dev_drupal.sql Archive saved to [ok] /home/path/to/archive-dump/20161026162145/mydrupalsite.20161026_16 2206.tar.gz
に保存されました

drushがアーカイブに日付/タイムスタンプを追加する方法に注意してください…?いいですね

以下を使用して、上記と同じコマンドを実行することもできます

  • drush archive-backup

  • ダッシュarb

デフォルトでは、drushは日付/タイムスタンプを含むファイル名を使用するため、サイトのスナップショットをいくつでも保持できます。バックアップファイルは標準のgzippされたtar形式であるため、お気に入りのアーカイブユーティリティを使用してその内容を調べることができます。 drushardコマンドとともに提供できるいくつかの便利なオプションは次のとおりです。

  • 「--destination」:このオプションを使用すると、バックアップファイルの別の宛先を指定できるため、Drupalインストールにランダムな場所のアーカイブが散らかることはありません。フルパスとファイル名を指定する必要があることに注意してください。 "drush ard--destination/home/user/backups/drupal/drupal_backup.tar.gz。"

  • "--overwrite":通常、既存のファイルと同じパスとファイル名でバックアップを作成しようとすると、コマンドは失敗します。ただし、このオプションを使用すると、古いファイルを新しいバージョンで上書きできます。これは、常に最新のバックアップを手元に置いてすばやく復元したい場合に便利です。

  • 「--no-core」:これにより、コアDrupalインストールを除外し、構築したサイトに関連するデータのみをバックアップできます。なぜあなたはこれをしたいのですか?ええと、プロジェクトのWebサイトまたはFTPからいつでも最新のDrupalリリースを入手できるので、ストレージスペースを無駄にする必要はありません。コアインストールに何かが起こった可能性もあり、Drupal自体のクリーンコピーを復元してから、その上にサイトを復元したいと考えています。

ニーズに合ったdrushardコマンドを入手したら、それをお気に入りの管理シェルスクリプトに含めるか、cronジョブの一部として含めることを忘れないでください。

サイトの復元

そのため、古いサーバーが爆発した場合(申し訳ありません)、ウェブスペースやデータベースサーバーへのアクセスなど、新しいホスティングを見つけました。次に、バックアップの1つからサイトを復元します。次の手順を実行すると、drusharrコマンドがこれを実行します。

  1. まず、復元するバックアップファイルを復元先の場所にコピーします(通常、これはWebサーバーのルートディレクトリになります)。

  2. 次に、drusharr'/path/to/nameofyourbackup.tar.gz'コマンドを実行します。これにより、Drupalインストールのディレクトリツリー全体が解凍されます(「-no-core」オプションを使用しなかった場合)。

  3. さらに、Drupalインストールのルートには、データベースのエクスポートがあります。これを新しいデータベースにインポートして、すべてのコンテンツやユーザーなどを復元する必要があります。MySQLデータベースを使用していて、データベースユーザーがすでに作成されている場合は、次のいずれかを使用してインポートを実行できます。

    1. 新しいDrupalデータベースにアクセスできるユーザーとしてログインしているときに、ターミナルから次のコマンドを発行します。[メールで保護]:〜$ mysql drupal_db_name

    2. phpMySQLを使用すると、Webインターフェイスを使用して、エクスポートを新しい(空の)データベースにインポートできます。

  4. 最後に、settings.phpファイルに次のような調整を加える必要があります。

    1. サイトの権限を確認してください。サイトのファイルを抽出したときに別のユーザー名を使用している場合(おそらく別のホスティングアカウントの場合は変更します)、ファイルやディレクトリを変更することはできません。あなたのサイトを見ることができます。

    2. サイトが存在するURLやポートを調整します。

    3. サイトのデータベースが存在するURL、ユーザー名、およびパスワードを変更します。

それが完了すると、ホームページのURLにアクセスして、サイトを離れたときと同じようにサイトを表示できるようになります…?より回復力のあるホストでのみ、私たちは願っています。


Linux
  1. 初心者と専門家のための10のLinuxコマンドチュートリアル

  2. コマンドラインを使用してMySQLデータベースをバックアップおよび復元する方法

  3. コマンドと出力の異なる色

  1. MySQL:mysqldumpを使用してデータベースをバックアップ(ダンプ)および復元する方法

  2. 新しくインストールしたLinuxシステムでMackupを使用してアプリケーション設定をバックアップおよび復元する方法

  3. Sysadminツール:rsyncを使用して、バックアップ、復元、およびファイル同期を管理します

  1. LinuxでSVNリポジトリをバックアップおよび復元する方法

  2. Pleskで作成されたバックアップを使用してサイトを復元する方法

  3. PostgreSQLでデータベースをバックアップおよび復元する方法