プラグインAdvanced Export for WP & WPMUを試用
WordPressに装備されているインポート、エクスポートで大量データを取り扱う時に不都合が生じたため、試しに使ってみたプラグインが、「Advanced Export for WP & WPMU」。
制作中のサイトにて、約10,000件を越える記事をバッチ処理にてxml化し、Wordpressに取り込もうとして、問題が発生してしまった。インポートファイルが約40MBにふくれあがった結果、2,000件目あたりの処理中にタイムアウトし、取り込み不能となる。
実行したのはローカルPCサーバ上のテスト環境にて。
WordPress バージョン:2.9.2
ツール・インポートのダッシュボードには、「最大サイズ:50MB」と表示されているが、気安めだろうか?
まずphp.iniの処理時間関係のパラメタを、よくわからないままとりあえず10倍にしてみる。
→ 状況は変わらず。
次に.htaccessの記述追加を試みる。
#Change upload limits
php_value memory_limit 34M
php_value post_max_size 33M
php_value upload_max_filesize 32M
php_value max_execution_time 600
#Change upload limits end
参考記事:http://www.ideaxidea.com/archives/2009/02/wordpress_import_hacks.html
→ でも状況はかわらず。といか、php処理が瞬時に落ちる現象にびびってしまう。
(文字コード設定ミス?ファイルの設置場所間違い?急いでいたので調査は回避)
バッチ処理でファイル出力時に、1ファイル4MB程度になるように10分割。
→ 不細工な方法だけど、とりあえずテスト環境に取り込み成功。
その後データをリモートサーバ上に移し替えるために、エクスポートしようとして、当然のようにエラーとなる。
リモートサーバ:Xserver使用
→ というわけで、年月範囲や投稿者、カテゴリー毎などの色々な指定で大きめのエクスポートファイルを出力できるという「Advanced Export for WP & WPMU」を使ってみた。
http://wordpress.org/extend/plugins/advanced-export-for-wp-wpmu/
今回は分割範囲が微妙な大きさだったので、全データ移行は遂行できなかった。でも今後1,000件(記事)単位のデータを部分的に移行するケースで使えそうだなと。
・・・・
などと時間を費やした結果、phpMyadminでバックアップ、リストアすることに落ち着く。
それでもDBのSQLは20MB程度だったため、結局テーブル単位での移行で作業を完了する。
サーバ環境設定について少しは知識がないと、こんなに作業がモタつくという教訓。
<今日のまとめ>
~Wordpress 10,000件(xmlファイル1,300,000レコード、40MB)のデータ移行~
1.10,000件 ==> 1,000件inport(4MB) × 10ファイル分割
2.1,000件inport × 10回 ローカルサーバWordpressにインポート
3.ローカルサーバMySQ:phpMyadminでバックアップ(SQLテーブルエクスポート)
4.リモートサーバMySQ:phpMyadminにSQLインポート(11テーブル別・計20MB)
以上
Please Leave a Reply
TrackBack URL :