アップグレードが面倒な割に、手順を書いたページには「もっと何かしたかったですか」とか神経を逆撫でするようなコメントが付いていたので、カッとなって作った。意外とベンリだったので後悔はしていない。
仕組みは、作業ディレクトリに新しいWordPressを展開して、稼働中のWordPressから設定、テーマ、プラグイン、添付画像データをコピーして、最後にmvで新旧WordPressを入れ替えるだけ。旧WordPressはついでにバックアップっぽい名前として作業ディレクトリに補完しておく親切設計(?)。
実行の際は、パスの入力ミス、権限不足などのトラブルに注意されたし。
これを使ってブログのデータがぶっ飛んでも保証しません。自己責任でご自由にどうぞ。
# usage: wpUpgrade.sh <WordPressのパッケージのフルパス> package=$1 targetblog=<ブログのパス(/var/www/html/blogとか)> workspace=<作業場所(/home/akkieとか)> backupname=<旧バージョンのバックアップ名(blog.bak-)> # バックアップ名に日付が付加される cd $workspace unzip $package rm -f wordpress/wp-config-sample.php rm -rf wordpress/wp-content/plugins wordpress/wp-content/themes cp -v $targetblog/wp-config.php wordpress/ cp -av $targetblog/wp-content/plugins wordpress/wp-content/ cp -av $targetblog/wp-content/themes wordpress/wp-content/ cp -av $targetblog/wp-content/uploads wordpress/wp-content/ # そのほか、何か他に移行すべきものがあればここに書き足す。 now=`date +"%y%m%d%H%M"` mv $targetblog $workspace/$backupname$now mv $workspace/wordpress $targetblog echo done.