通常は、
- 「WP-CLIの使い方:その壱 – インストールと簡単な使い方例(わーどぶれすっ!)
が非常に詳しく説明されているので、これをみたらいいと思います。
でもgitコマンド入れてないよとか、いろいろしがらみ(yumパッケージ依存等)があって、手動インストールしたいんじゃ〜という方は参考になるかもしれません。
ダウンロード
% curl -L https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > wp-cli.phar
% php wp-cli.phar –info
PHP binary:
PHP version: 5.x.x
php.ini used: /etc/php.ini
WP-CLI root dir: phar://wp-cli.phar
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 0.13.0
のようにエラーなく出てくれば導入成功です。
% chmod +x wp-cli.phar
% mv wp-cli.phar /usr/local/bin/wp
などパスが通っている場所に、wpという名前に変更しておきましょう。
問題1)wgetで「ERROR: cannot verify raw.github.com’s certificate」が出た
次のようにルート証明書を取得して、wgetの環境設定に記載してあげてください。
暫定対応としては、wget –no-check-certificate オプションが使えますが、今後のことを考えるとお勧めできません。
# mkdir /etc/CA # cd /etc/CA # wget http://curl.haxx.se/ca/cacert.pem # vi /etc/wgetrc ca-certificate=/etc/CA/cacert.pem
なおcurlについては
# cd /etc/pki/tls/certs/ # cp -p ca-bundle.crt ca-bundle.crt.org # curl http://curl.haxx.se/ca/cacert.pem > cacert.pem # mv cacert.pem ca-bundle.crt
とルート証明書を入れ替えてみてください。
問題2)PHP Fatal error: Uncaught exception ‘PharException’
% php wp-cli.phar –info
これで上記エラーが出てしまった場合には
のほうを使ってみて下さい。
※参考情報:https://github.com/wp-cli/wp-cli/issues/942
インストール
# chmod +x wp-cli.phar # cp -p wp-cli.phar /usr/local/bin/wp
/usr/local 以下にソフトを導入されている場合には、上記を使うとよいはずです。
MacOSXなどは/usr/bin/wp に入れる場合もあるかもしれません。まぁMacOSXの方は自動インストールを使うでしょうから、そんなに悩む必要はないかなと思います。
使い方
# cd /hogehoge/wordpress
※WordPressがインストールされているフォルダに移動してください。
プラグインの状態を調べます
# wp plugin status
プラグインを更新します
#wp plugin update プラグイン名
例)プラグインまるごと自動更新
# wp plugin list | grep available | cut -d '|' -f 2 | awk '{print "wp plugin update "$1}' | bash
です。一度プラグインリストを確認したければ
# wp plugin list | grep available | cut -d '|' -f 2 | awk '{print "wp plugin update "$1}'
としてアップデートコマンドを表示させればいいかと思います。
というか必ず自分がアップデートしたプラグインリストを保存しておいてください。
後からアップデートで失敗したときのトラブルシューティングに役立つためです。
wp plugin update link-library
wp plugin update postie
などのようなものがならぶでしょう。それコピー&ペーストでメモっておきましょう。
例)「contact-form-7」を含まないプラグインを自動更新してみる
いや筆者はこれをちょろっといじったサイトがあったので例にあげてみます。
# wp plugin list | grep available | cut -d '|' -f 2 | grep -vi "contact-form-7" | awk '{print "wp plugin update "$1}' | bash
例)contact-form-7とbackwpupを含まないプラグインを自動更新してみる(二つ以上の除外があった場合)
# wp plugin list | grep available | cut -d '|' -f 2 | egrep -vi "contact-form-7|backwpup" | awk '{print "wp plugin update "$1}' | bash
アップデートできないものがあるよ!
PHP Warning: wp backwpup: addCommand is deprecated
とか出てきたら、念のため再度アップデートコマンドを叩きましょう。
別の物がはいっていないと(よくあるのは特定プラグインが入っていないとアップデートできないとか)アップデートできないもの(backwpupとbackupwp-proの関係)もあるためです。
応用編
このようにプラグイン(それだけでなくWordPress本体も)がコマンドラインでアップデートできるなら、cronを使って
- WordPress本体のバックアップ
- データベースのバックアップ
- プラグイン/ 本体バージョンアップ
- メール通知
というのが自動で出来ちゃいますね。
おおおおおっ、ってかWordPress本体にそういう機能いれようよ〜(WordPressの自動更新機能いれたんだから)とは思いますが、これを無効にしてこっちでやるってのがシステム管理者としては心穏やかになるかなと思いますね。
なおbackwpupプラグインには、コマンドラインから実行できるスクリプトが用意されています。
これと組み合わせると「1」「2」は自動化できます。というかbackwpupはフリー版でもWP-CLI対応してますね。
まずはもう少し検証してみようかなぁと思います。
BackwpupプラグインでWP-CLIを使ってみよう
# wp
とタイプすると、おおっbackwpupパラメータがあるじゃないか!
# wp backwpup
とすると使い方がでてきます。
まずはジョブ名とそのIDを表示します。
# wp backwpup jobs
で、
# wp backwpup start --jobid=1
が利用できます(2016年4月21日現在)。2014年1月8日時点では下記の問題がありましたが、すでに修正されていますね。
の問題があって現在できないようですね…次のbackwpupで直るようなので待つかな
2014年1月8日 木谷
ピンバック: セッションのご紹介「世界の最前線!VagrantやWP-CLIなどで開発環境をパワーアップ!」 | WordCamp Kansai 2014
ピンバック: 第32回WordBench大阪に参加して<WP-CLIの情報だよ〜> | Kimiya Kitaniの徒然なるブログ
ピンバック: 第32回WordBench大阪に参加して〜WP-CLIの情報だよ〜 | Kimiya Kitaniの徒然なるブログ