【WordPress複数サイト管理者必見】複数のWordPressサイトを一気に最新版に更新する方法

wordpressCMS
Photo by Javier Garcia Chavez on Unsplash

WordPressのメンテナンス方法を Sagasoon.

WordPressでいくつもブログを持っているという方も多いんじゃないですかね?
毎回管理ユーザでログインして、メンテナンスするってのも時には「うざったい」わけです。
そんな時は、shellかなんか書いて、そのサーバで動かしてる WordPress を一気に更新なんてのもいいかもです。

前提

wp-cliが動くことが前提条件となります。

wp-cliコマンドをインストールしていない方は、下記の記事をどうぞ。

【WordPress複数サイト管理者必見】wp-cliをインストールしてコマンドでWordPressを管理しよう
Wordpressの管理は、何もWebからやらなくてもいいってこと知ってますか?wp-cliコマンドがあれば、コマンド一発でWordpressを最新版にしたりすることができます。本日は、コマンドのインストール方法など、簡単な使い方を紹介します。

更新対象は、下記のshell を動かすサーバで管理している wordpressのみです。
色々なサーバで分散している場合は、別々に実行する必要があります。

また、WordPressを更新する場合は、バックアップしてからの作業をおすすめします。
作業自体で問題が起きても責任は持てませんので、実行は自己責任でお願いしますね。

shellをかきかき

前提のお話をご理解いただいた上で、さっそくプログラムを書きます。

mente.sh とでもして下記のプログラムを保存しましょう。

#!/bin/sh

# WP command
alias WP_COMMAND='wp'
# PATHが通ってなかったりするなら、こんな感じで
#alias WP_COMMAND='/usr/bin/php /home/user/cmd/bin/wp'

# SITE_ROOT_DIR
while read site_root_dir
do
  cd $site_root_dir
  echo $site_root_dir
  WP_COMMAND core update && WP_COMMAND plugin update --all && WP_COMMAND theme update --all && WP_COMMAND core language update
done << EOF
/web_site/dir/site01/wordpress
/web_site/dir/site02/wordpress
EOF

2か所コメントさせてください。

WP_COMMANDについて

alias の行 WP_COMMAND は、wp-cli のパスを書いてあげてください。
普通に何もしなくて wp が動くのであれば、 上記のコードのように、wp と2文字書くだけでOKですよ。
パスが通ってない場合、コメントにあるような感じでパス通してあげておくといいです。

WordPressのインストール先の指定

プログラム中に、下記のような記述が後半にありますよね。

  • /web_site/dir/site01/wordpress
  • /web_site/dir/site02/wordpress

ここに、wordpressがインストールされてるディレクトリを指定してください。
上の2行は、あくまでもサンプルです。
皆さん、ご自身のものを記載ください。
1つしかない人は、1行削って1行目にご自身のwordpressのインストール先を指定しましょう。
2つ以上ある方は、wordpressのインストール先を1行ずつ洗いざらいかきましょう。

あとは、mente.sh を実行すればOK。
ご自身で管理している wordpress のサイトが一気に最新版になります。
※更新失敗とか出る場合がありますが、焦らずに、1個ずつエラーとるといいです。

まとめ

wordpressの更新は、リスクがつきものです。
バックアップは実施したほうがいいですよ。
後は、自己責任でよろしくどうぞ。

炭酸野郎

今日も何かを Sagasoonを運用してます。炭酸野郎です。
皆さんの「何か」が探せるべく、記事書いてます。
新卒で中堅SIerに就職→10年ちょいで退職→フリーランス→起業。副業としてのブログに目覚める(今ここ)。
時間作って、色々なことがやりたいお年頃です!

炭酸野郎をフォローする
CMSwordpressCocoonpluginIT
炭酸野郎をフォローする
SAGASOON

コメント

タイトルとURLをコピーしました