本記事はWordPressに関わる内容となります。 また、筆者 Ujiki.oOが独自に開発を行って公開してきた bashスクリプトの話題です。



異なる複数の公開サーバーでWordPressのミラーリング運用を行う場合、わたしは安直に、MySQLデーターベース全体を次々に機械的にインポートしますが、次のプラグインを運用していても、問題無く圧縮済みMySQLデーターベース全体を次々に機械的にインポートする為のMySQLエキスポート処理を、特別にサポートする公開スクリプトをバージョンアップし、新たなバージョン:4.4を使い倒しましょう!

考えただけで、自分の脳が燃え尽きそうですけど、頑張りましょう! 新たなバージョン:4.4から、正規表現仕様の外部SEDスクリプトを扱えるのです! プラグインだけでなくて、必ず異なる標準的データーベース情報にも対応します!
  1. 管理者メールアドレス
  2. WordPress アドレス (URL)
  3. サイトアドレス (URL)
外部URLを参照するアイ・キャッチ静止画(英語版WordPress: featured image)参照元を見る。利用に感謝!

基本運用

過去記事「サーバアクセス障害発生時の回避策_」に端を発し、サーバー単位で障害が起きる経験を基に、いつでもサーバー全体が惨事を起こした折にも、比較的軽傷に復旧することを目的として、2種類の系統のWordPressを運用しています。

無料版XREAサーバー_には、通信上限規制があります。 COREサーバー_には、通信上限規制は規約違反が無い限り非常に大容量となります。 この2系統のWordPressの記事については、ミラーリングしています。


サーバアクセス障害発生時の回避行動をスムースに行うために:


そして、どの拠点でも同じ mysqldump.sh を運用し、MySQLデーターベースのエキスポートを行って、バックアップの循環を行っています。

  • COREサーバー_では、クロン・タブに定義するだけで、毎日1回処理を自動的に行っています。
    CRONジョブに指定
    /virtual/あなたのアカウント名/mysqldump.sh
  • 無料版XREAサーバー_では、Windowsの無料ソフトWinSCPを利用して、暗号化通信を利用した「コンソールを開く」を実行し、 bash ~/mysqldump.sh を、コンソールを利用して手動で起動しています。
  • 無料XAMPP_では、Windowsの無料ソフトcygwinを利用して、 D:\cygwin64\bin\bash.exe --login -i -c "~/mysqldump.sh" を、MSバッチファイルをダブルクリックするだけの利便性で起動しています。
    1. 無料XAMPP_で、ログ・ファイルのサイズがゼロなら正常となるMSバッチファイル!
    2. 無料XAMPP_で、指定した時刻に自動的に実行させる方法!
    過去記事:「家庭内で多くの端末を利用してXAMPPでWordPressを確認する!_」で解説済みです。

このように、公開サーバーでの運用も、自分のパソコンでの運用も、同じ mysqldump.sh を起動できています!

不断の運用手順

  1. 先ず、ブログ業界標準書式かと思える MovableType インポート/エキスポート書式を利用した単体記事のファイルを安直に作成します。
    この記事のインポートファイル:
    悩むところは、 TAGS: MovableTypeの書式では、「スペースを含む場合はダブルクォーテーション文字で囲むこと」とありますが、 MobvableType以外の様々なブログで、ダブルクォーテーション文字を省かないプリプロセッサーが存在します。
  2. その小さなファイルを「下書き」のままに、WordPress: //fs4y.com_にインポートします。
  3. 初歩的なミスの存在を確認します。
  4. SEO: 「キーワード」を推敲します。
  5. その後「公開」します。
  6. 検索エンジンに「XML Sitemap」を通知する。
  7. WordPress: //fs4y.com_、 MovableType、 他、日本国内有名プロバイダが中心となって提供している「無料ブログ」に、次から次へとインポートします。
  8. Facebookに新規投稿します。
  9. MovableType書式のファイルを読まない、読めないブログは後回しで「手動投稿」をする場合があり、Facebookの特別な公開URLを埋め込みます。
  10. 各記事のトラックバック通信をスター連携します。
  11. トラックバック受信が満了した段階で、2系統の WordPress [ //fs4y.com_ ][ //fs4y.com_ ] で、 mysqldump.sh を、実行し、 WinSCP経由で、圧縮済みのSQLファイルを自分のPCへ転送します。
  12. 無料XAMPP_を起動し、phpMyAdminを利用して、圧縮済みのSQLファイルをインポートします。
  13. 無料XAMPP_ の WordPressの管理画面で、カテゴリーの階層を編集します。
  14. 無料XAMPP_ で、 mysqldump.sh を、実行し、圧縮済みのSQLファイルを生成します。
  15. 後は、公開サーバー上のWordPressの管理画面で、閉鎖画面を表示させ、次々に 無料XAMPP_ で、作成した圧縮済みのSQLファイルをインポートします。

特別なSQLテーブルの追加

筆者: Ujiki.oOへの寄付_

元始となるWordPressのSQLデーターベースに、以下のテーブルを追加します。

mySqlAdmin を利用して、

  1. zzz_endofdataを、クリックし、
  2. 操作 > 「テーブルを空にする (TRUNCATE)」を実行し、
  3. 挿入CURRENT_DATECURRENT_TIMEを適宜登録します。
  4. 表示
    現在の日時が登録されていることを確認できます。
3種類の圧縮済みSQLファイルの最後尾に出力させます! すると、処理のタイムアウトエラーの有無を目視で確認できます。

SQL3分割

過去記事:「特別なMySQLバックアップを自動的に実行する_」を参照し、パラメーターファイルの構築に詳細解説がありますが、パラメーターファイル内の以下の定数を定義する必要があります。
解説の都合上、以下の条件であったとします:

  • DB名: wordpress.fs4y.com
    不安であればピリオド文字無しのデーターベース名にしますか。
  • WordPress専用テーブル接頭句: wp1_

  1. export IGNORETABLES='wordpress.fs4y.com.wp1_options --ignore-table=wordpress.fs4y.com.wp1_wsal_metadata --ignore-table=wordpress.fs4y.com.wp1_wsal_occurrences --ignore-table=wordpress.fs4y.com.wp1_wsal_options'
  2. export NOTIGNORETABLES='wp1_options wp1_wsal_metadata wp1_wsal_occurrences wp1_wsal_options zzz_endofdata'
これで出力されるMySQLファイルは3分割されます。 NOTIGNORETABLESに指定されたテーブルに対して、外部SEDスクリプトファイルが適用されます! 1文字でも間違えると、sqldumpが異常終了します! また分割されるSQLファイルの容量を検討し、同容量の等分分割されるように、定義を考慮します。 筆者: Ujiki.oOへの寄付_

SQLコメント化

mysqldump.sh 4.4 で実現する、外部sedスクリプトを解説します。

解説の都合上、以下の条件であったとします:
  • DB名: wordpress.fs4y.com
    不安であればピリオド文字無しのデーターベース名にしますか。
  • WordPress専用テーブル接頭句: wp1_
パラメーター・ファイル: SED4COMMENT.tbl
  1. -- REPLACE INTO `wp1_options` VALUES (1,'siteurl',
    -- REPLACE INTO `wp1_options` VALUES (2,'home',
    siteurlhome
    SQLデーターをコメント化し、上書きされない様にします。 実際には、WordPressのシステム・ファイル「 wp-config.php 」に新たに定数を定義すると、WordPressへのアクセスが速いそうです。 wp-config.phpに定義すれば、良いのでしょうが、コメント化しておきます。
  2. -- REPLACE INTO `wp1_options` VALUES (6,'admin_email',
    admin_email
    SQLデーターをコメント化し、上書きされない様にします。 わたしの場合、迷わず、公開サーバーのコンパネで固定設定されているサーバー専用メールアドレスを定義します。 COREサーバー_無料版XREAサーバー_、それぞれの旧コンパネの「メールアドレス変更」(実際には変更できませんが!)をクリックすると、新メールアドレスが表示されます! この固定メールアドレスをWordPressに登録するべきです! そして、転送先メールアドレスに、あなたの個人のメールアドレスを登録してください。 わたしは、最初、「上記メール宛てに転送し、POP/WEBMAIL用にもメールを残す。」を指定します! サーバーが正常なら、「ウェブメール」を開くとメールが届いている筈です! 「自動ログイン(SSL)はこちら」をクリックして確認しましょう! サーバー毎にメールアドレスはユニークです! よって、SQLデーターをコメント化します。
    無料XAMPP_では、有用な外部記事の通りに調整するとWordPressからのメール送信に成功しています! 外部記事:「Xamppのsendmailとgmailでメール送信フォームを作りましょ_」 もしもリンクエラーが起きましたらここにPDF_があります。 一例として、WIMAX2+ w/ Speed Wi-Fi NEXT W05を利用した場合のファイアーウォールの調整画面はここにPDF_があります。 わたしのXAMPPが稼働するパソコンのLAN用のIPアドレスは固定です! 172.20.10.99
パラメーター・ファイル: SED4COMMENT2.tbl筆者: Ujiki.oOへの寄付_
  1. -- REPLACE INTO `wp1_options` VALUES (xxxx,'aioseop_options',
    プラグイン: All In One SEO Packに関するSQLデーターをコメント化し、上書きされない様にします。 必ず、All In One SEO Packのエキスポート機能で全パラメーターをパソコンに保存し、ファイル: settings_aioseop.iniの、aiosp_bad_robots_blocked_log = '' に変更しましょう! MySQLのSQLデーターを転送した後、ファイル: settings_aioseop.ini を読み込みます。 「悪意あるボットのブロッカー」のログがリセットされます。
  2. -- REPLACE INTO `wp1_options` VALUES (xxxx,'wfcm_scan-exclude-dirs',
    プラグイン: Website File Changes Monitorに関するサーバー内の絶対パスの定義をコメント化させています。
  3. -- REPLACE INTO `wp1_options` VALUES (xxxx,,'wfcm_local-files-yy',
    プラグイン: Website File Changes Monitorに関するサーバー内のログをコメント化させています。
  4. -- REPLACE INTO `wp1_options` VALUES (xxxx,,'wfcm_is-initial-scan-yy',
    プラグイン: Website File Changes Monitorに関するサーバー内のログをコメント化させています。
  5. TRUNCATE `wp1_wsal_occurrences`;
    プラグイン: WP Activity Logに関するSQLデーターを空にします。 実際のログの全てはコメント化しています。
  6. TRUNCATE `wp1_wsal_metadata`;
    プラグイン: WP Activity Logに関するSQLデーターを空にします。 実際のログの全てはコメント化しています。
  7. TRUNCATE `wp1_wsal_options`;
    プラグイン: WP Activity Logに関するSQLデーターを空にします。 実際のログの全てはコメント化しています。

その他のプラグイン

新規にプラグインを導入したら、実際にSQLデーターを出力してみます。 勿論、 mysqldump.sh 最新版を利用します。 知ってるよね?! phpMyAdminの初期値のままにエキスポートしたファイルは、スクリーン・エディターで開かないし、行単位の比較が無理なこと・・・・・ だから、普通のスクリーン・エディターで編集可能な様にと、 mysqldump.sh を開発したわけです。
サーバー毎に異なる絶対パスの指定が無いか、チェックしましょう!

絶対パスが埋め込まれているSQL構文が見つかったら:
  1. wp1_options に含まれるのなら:
    1. 正規表現で対応するなら、 SED4COMMENT2.tbl に定義を追加します。
    2. 正規表現が無用なら SED4COMMENT.tbl に定義を追加します。
  2. wp1_options に含まれないのなら:
    1. パラメーターファイル: mysqldump.tbl に、 IGNORETABLES と、 NOTIGNORETABLES に、当該テーブルを追加して、分離させます。
    2. 正規表現で対応するなら、 SED4COMMENT2.tbl に定義を追加します。
    3. 正規表現が無用なら SED4COMMENT.tbl に定義を追加します。

実際の操作の動画

目下、動画を作成中です。 日本語音声、字幕は英語を予定しています。

SNS

応援よろしくお願い致します!
MovableTypeインポート書式のファイルを扱えないブログ類は、SNS扱いです。

記事の改訂の告知について

DISQUSコメントで案内します。

DISQUSコメントにログインし、DISQUSコメント枠の一番下段の左端のメール・シンボルをクリックすれば、DISQUSコメントがあれば自動的にメールで知らせてくれます。 再度クリックすれば、メール通知を停止できます。 記事末尾のDISQUSコメントの表示が小さくてスレッドのデザインが狭過ぎると思うなら、DISQUSコメント本尊に接続_してみてください。


サポートが必要ですか?


Support AIt's free and fastSupport BIt's free and fastSupport CIt's free and fast

「無料サポート」に興味があれば
上の丸ボタンをクリック願います。
サーバーから9kbを受信しますのでお待ち願います。


※ 記事本文は別サーバーから JavaScriptファイルとして配信しており、配信元のサーバーにおける JavaScriptファイル(YUICOMPRESSOR済み)も、実際にあなたのブログが受信する gzip圧縮済みの JavaScriptファイルも、30日間のキャッシュ流用を定義していますので、特にご質問の前にブラウザーのキャッシュを削除してから、再度のご訪問と閲覧をお願い致します。
※ DISQUSについては別管理ですので、毎回、最新のDISQUSを表示できています。 但し、ご自分のDISQUSコメントを編集した直後に編集後の内容に至らない場合がありますが、DISQUS表示の上部にある「あなたの言語でDISQUSメニューを再表示する!」をクリックしますと最新の状況を表示致します。 宜しくご理解願います。
※ どれだけ待ってもDISQUSが表示されない場合は「広告ブロック」機能を切ってみて下さい。
Google Translator.

良いブログと利用できないブログ


  • CLICK!