Edited at

Wordpressの自動アップデート中にサーバ負荷で画面真っ白になった件の対応まとめ

More than 1 year has passed since last update.


Wordpressで事故る

wordpressのアップデート中に事故って画面真っ白になりました。

原因はそのwordpressの自動アップデートを押したら、サーバ負荷でトんで、各ファイルを中途半端に上書きしたせいで死んだようでした。


環境

AWS EC2 AMIMOTO仕様。


wordpressの復旧の際にやったこと

やろうと思ったこととして、


  1. wordpressのdebugモードをOnにする

  2. SQLバックアップ

  3. サーバ上の全ファイルバックアップ(主にwp-uploadsやwp-config.phpの確保)

  4. SCPで、dumpとtar.gzを手元ダウンロード

  5. wordpress最新版とってきてSCPでアップロード

  6. cpコマンドで必要ファイルを上書き <= ここで治った

でした。


やったことまとめ


1. wordpressのdebugモードをOnにする

wp-config.phpをいじります。

define('WP_DEBUG', false);

define('WP_DEBUG', true); する。

が、真っ白のままでログが出ぬ。


2. SQLのバックアップ(mysqldumpで作成)

# ex

mysqldump -u DATABASE_USER -p DATABASE_NAME> /home/ec2-user/dump.sql


3. サーバ上の全ファイルバックアップ(主にwp-uploadsやwp-config.phpの確保)

# ex

tar cvzf HOGEHOGE.tar.gz /var/www/vhosts/HOGEHOGE/


4. SCPで、dumpとtar.gzを手元ダウンロード

# ex

scp -i ~/.ssh/HOGEHOGE.pem ec2-user@AWS_IP_ADDRESS:/home/ec2-user/HOGEHOGE.tar.gz ./


5. 最新のwordpressの全ファイルアップロード(scp アップロード)

# ex

scp -i ~/.ssh/HOGEHOGE.pem ./WORDPRESS.tar.gz ec2-user@AWS_IP_ADDRESS:/home/ec2-user/


6. cpコマンドで必要ファイルを上書き

普通にcpしたら、「YES/NO」を聞かれまくる。

forceオプションとかないのかなと思って調べても見つかりません。

# ex

tar xvzf WORDPRESS.tar.gz
\cp -R ./WORDPRESS/* /var/www/vhosts/HOGEHOGE/
cp -R ./HOGEHOGE/wp-config.php /var/www/vhosts/HOGEHOGE/ #wp-config.phpはバックアップから復元

ということで、cpコマンドにバックスラッシュつければ、--force っぽい感じでコピーされます。

ファイルをちゃんと上書きしたら、無事wordpressの画面が出ました。良かった。


まとめ

結局、wordpressのコアファイルだけ中途半端に上書きされたため、ディレクトリ上のファイルだけwordpressの最新版で上書きすれば対応できました。

ディレクトリ毎ごそっといってもファイルがあれば上書き、無ければ上書きされない(当たり前)ので、自分が勝手に入れたthemesなどは上書きされないため見た目も問題なしでした。

cpコマンドにforceオプションがなくて、バックスラッシュ先頭に入れろが渋い。