複数のWordPressサイトを一括更新するスクリプト作ったよ

WordPress 4.2が出てからというもの、過去に例を見ないような頻度でセキュリティアップデートが続いてますよね。

コアファイルについてはバージョン 3.7から自動バックグラウンド更新機能が導入されているものの、プラグインやテーマについては対象外。ここ最近のアップデート祭りにほとほと疲れて、複数のリモートサーバをまたいでこれらのファイルを更新してくれるRubyスクリプトを作ってみました。

スクリプトはGitHubで公開しています。

tecking/wp-auto-update.rb

ドキュメントを英語にしたので、ちょっと解説。

主な機能

複数のサイトについて、下記の処理を自動実行します。

  1. データベースのエクスポート
  2. WordPressコアファイルのアップデート
  3. プラグイン(公式プラグインディレクトリからインストールしたもの)をすべてアップデート
  4. テーマ(公式テーマディレクトリからインストールしたもの)をすべてアップデート
  5. アップデート後のサイトの死活チェック

すべてのサイトについて処理が終わると、処理結果がメールで飛んできます。

動作要件

  • ローカル側
    • Rubyが動作する環境
    • Net::SSH パッケージ(gem install net-ssh でインストール)
    • Mail パッケージ(gem install mail でインストール)
  • リモート側
    • SSH接続可能で(公開鍵認証もOK)、WP-CLIが動作する環境

が満たされればスクリプトが使えるはずです。私の場合、ローカル側はWindows上に構築した仮想環境(Vagrant)にしています。

リモートサーバへのWP-CLI導入については、下記の記事もご参照いただければ。

レンタルサーバに『WP-CLI』をサクっと入れるシェルスクリプト作ってみたよ

いつもどおりの「ご利用は計画的に」ですが、よろしければぜひ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください