日暮途遠(Linux)

Just another WordPress.com site

WordPressのMySQLデータベースから指定日時以降のデータをINSERT文として取得するスクリプト

leave a comment »

#!/bin/sh
date=$1
mysqldump -u hirono-hideki-01 -h ホスト名.db.sakura.ne.jp --where="post_date >= '${date}'" -pパスワード hirono-hideki-01_2013k wp_2013kposts | sed -ne '/^INSERT INTO /p' |sed -e "s#,'http://hirono-hideki-01.sakura.ne.jp/wp2013k#,'http://localhost/wordpress#g"

実行例:
% h-mysql-hirono2013k-insert-data.sh ‘2013-10-21 14’ > add.sql

ダンプしたSQLのファイルはSQL文のコマンドを順次実行するテキストファイルのスクリプトになっています。そのまま使うとDROP文で一度テーブルを削除してからCREATE文でテーブルを新規作成することになっています。

このままだとリンクのURLが元のサーバのものになってしますのでパイプでつないだsedのフィルターで、localhostのものに置換しています。

スクリプトは日付形式の引数を受け取り、それ以降のデータをINSERT文として出力します。動作の確認もあるので標準出力による表示にしていますが、実行例のようにリダイレクトを使い出力をテキストファイルとして保存しています。

この出力結果のファイルをダウンロードし、追加したいMySQLデータベースの実行環境で、次のようにリストアします。
実行例:
mysql -u ユーザ名 -pパスワード データベース名 < ダウンロードしたファイル名

さくらインターネットのサーバとWordPressが前提になっています。

Written by 廣野秀樹

2013年10月23日 @ 8:37 午前

カテゴリー: さくらインターネット

Tagged with

コメントを残す