ふと、Xserverのサーバーパネルを見たときのこと。総ファイル数が赤字になってビックリマークがついているではないか。カンマがあった方が分かりやすいということで、31,250,894件。ビックリの3千万ファイルだ。
Xserver 総ファイル数とかでググってみると、総ファイル数が多すぎる場合は自動バックアップが機能しなくなることがあるとか。警告を受けているユーザーもそれなりにいるみたいだった。100万ファイルを超えると、ファイル多すぎだなって感じらしい。
というわけで3千万ファイルは明らかに異常である。ちなみに、サーバー上にはこのブログ含め、WordPressが2サイト、静的なウェブページがごくわずかあるだけだ。
キャッシュプラグインのゴミファイルが大量に溜まっていた
いろいろ調べてみると、キャッシュプラグインが生成するファイルが怪しいらしい。実際このブログもWP Fastest Cacheを使っていた。
wp-content/cache以下にtmpWpfcというディレクトリがあり、20階層以上ものディレクトリがあり、データが溜まりまくっていた。tmpというディレクトリ名からも分かるように、どうも、このフォルダの内容は必要ないものらしい。
《参考記事》 WP Fastest Cache で階層が深いとtmpWpfcのファイルが削除されない | fukada.dev
では削除してしまおうとFTPクライアント(FileZilla)で削除を試みたが、一晩PCを放置しておいても終わっていないではないか。時間がかかるとの記事を多く見たが、かかりすぎだろう。
SSHで接続してディレクトリを削除する
こういうときはSSHが圧倒的に速いらしいので、やってみよう。
XserverのサーバーパネルのSSH設定から「公開鍵認証用鍵ペアの生成」を実行して、キーファイルをダウンロードする。作成時に設定したパスワードは控えておく。
最近はWindowsのターミナルもSSHをサポートしているらしいが、初めてのSSHなので、無難なところでTera Termを使うことにした。
ホスト名は契約サーバーのアドレス(sv*.xserver.jp)、ポート番号は22ではなく10022を指定して接続する。ところが、タイムアウトになってしまった。少し悩んだ末に回線を切り替えてみたらOKだった。どうやら、ルーターがポート10022を通してくれなかったようだ。一部のルーター(TP-Linkとか?)でv6プラス環境だとダメかもしれない。僕の自宅(Synology)はv6プラス環境だが問題なく接続できた。一応ご参考まで。
ユーザー名はサーバーID、パスフレーズは鍵生成のときに指定したもの、認証方式は鍵を使うを選び、先ほどダウンロードした.keyファイルを指定する。これでログインできるはず。
基本的なSSHのコマンド
Linuxを触ったことがある人ならまったく問題ないだろうが、僕みたいな初心者は、とりあえず以下のコマンドだけ使えればいいだろう。
- ls → ファイル一覧を表示
- cd → ディレクトリを移動
cd wp-content (wp-contentに移動)
cd .. (1つ上の階層に移動) - rm → 削除
-r オプションでディレクトリを再帰的に削除
-f オプションでパーミッションを無視して強制的に削除
というわけで、cdコマンドを使って、ルートから home/ippeintel.com/public_html/wp-content/cache まで降りていき、次のコマンドを実行した。
rm -rf tmpWpfc
残念なことに、Tera Termのウィンドウでは、処理の進捗を把握することができない。FileZillaからFTPでのぞいてみると、tmpWpfcのサブディレクトリがどんどん消えていくのがわかる。
30分ほどで削除が終了した。FTPとは雲泥の差である。ちなみに、SSH上でFTP接続をするSFTPというプロトコルもある。あとで試してみたけど、通常のFTPより速い感じがした。
総ファイル数が3,100万件から5.5万件に激減した
さて、結果はどうだろうか。Xserverサーバーパネルの総ファイル数を見てみると、なんと5.5万件に減っているではないか。つまり、tmpWpfcディレクトリ内に3,000万件ものゴミファイルが作られていたということだ。
ちなみに、Xserverサーバーパネルの総ファイル数が更新されるまでには数時間から1日ほどかかるらしい。
とにかく、正常な状態に戻って一安心である。
キャッシュプラグインをLightSpeed Cacheに乗り換えた
WP Fastest Cacheはずっと昔から使っていたし、他に管理しているサイトでも使っているが、tmpWpfcディレクトリ内にファイルが増殖する事案は今までになかった。キャッシュ生成時に一時ファイルを生成してすぐに削除しているものと思われるが、何らかのバグで一時ファイルが削除されないままになっていたのだろう。
これを機にいろいろ試してみて、LightSpeed Cacheに乗り換えた。今のところいい感じである。
というわけで、今日は、WordPressプラグインのWP Fastest Cacheがwp-content/cache/mpWpfcディレクトリ内に3,000万件を超える一時ファイルを蓄積しまくっていたはなしでした。そして、3,000万件のファイルをFTPで削除するのは何日もかかかりそうだったので、SSHでやったら一瞬でしたというはなしでした。めでたしでございました。
[PR] レンタルサーバーといえばXserverがオススメですよ!
コメント
おや、コメントがまだありません。