web-dev-qa-db-ja.com

WordPressと異なるホストへのMySQLの自動バックアップ

次のように設定しています。私のローカルネットワークの開発用コンピュータと本物のインターネットドメインを持つプロダクションサーバ。私のテーマのために私の開発用コンピュータでPHP/CSSファイルを開発することはgitで処理されます、私は簡単にプロダクションシステムにそれらをデプロイすることができます。今までのところ、すべてがうまくいっています。

しかし私の開発システムでは、私は常に私の実際のシステムから合理的に新しいデータベースダンプを取りたいと思っています。さて、迅速で汚い方法は、単に本番用サーバーでmysqldumpを、開発用コンピューターでmysql < dumpfileを実行するためのcronjobを書くことです。しかし、Wordpressはデータベースにホスト名を保持しているので、すべてのリンクが間違っているため、これは動作しない開発システムにつながります。

私は https://codex.wordpress.org/Moving_WordPress を知っていますが、そこにある手順には手動のヒックハック(設定ファイルの編集)がたくさん必要です。など)、自動化に使用するのはよくありません。さて、たくさんのchmodsedmvなどを自動化することもできますが、これはかなり「ハッキー」な感じです。

このような自動DBバックアップを壊すことなく正しくクリーンに処理する方法は何でしょうか。

2
Foo Bar

あなたはBackupBuddyのようなプラグインを使うことができますが、私はこれをスクリプトにして、wp-config.phpを読み、あなたがしないことを意味する wp-cli を使うのを好みます。 MySQLの認証情報を心配する必要はありません。

wp-cliでは、次のことが可能です。

  • dbをエクスポートします。wp db export <filename>
  • dbをインポートする:wp db import <filename>
  • 安全な検索と置換(シリアル化されたデータを含む):wp search-replace <search-string> <replace-string>

だから、私はそれをスクリプトがあります

  • ssh経由でリモートサーバー上でwp exportを実行します
  • scp経由でsqlエクスポートファイルを自分のローカルマシンにコピーします。
  • ローカルでwp importを実行します
  • wp search-replaceを実行します

それをcronに追加することもできますが、手動で実行することをお勧めします - 運用環境から私のローカル環境にdbを同期するのに1分もかかりません。

2
anu