日別アーカイブ: 2013/07/08

WP-DBManagerが動かなくなったと思ったら、スパムコメントのせいだった

WordPressのデータベースを自動でバックアップしてくれる、WP-DBManagerというプラグインを使っています。
定期的にバックアップを取ってくれて、しかもそいつをメールで送ってくれるというすぐれもの。
非常に重宝してたのですが、ある時を境にぱったりとメールが来なくなってしまいました。

プラグインのバグかなーと思ってしばらく放置していたのですが、一向に直らないので重い腰を上げて原因調査。
意外なところに落とし穴はありました。

…とまぁ、引っ張った所でタイトルで答え言っちゃってるんですけどね。
問題はスパムコメントでした。

どのようにして原因究明したかというと…

まずはデータベースのバックアップを保管しているサーバー内のフォルダにFTPでアクセスしてみました。
あらら、きちんとバックアップがありました。
動いていないと思ったプラグイン、実は地道に動いていてくれたみたいです。

ですが、バックアップのファイルの容量が、なんかおかしい。
正常に動いていた日々は5MBくらいなのに、3つ前くらいから50MBくらいになってます!
メールで送られて来なかった原因はこれかー!

なんでこんなに容量が肥大しちゃったのか調べるため、WP-DBManagerのDatabaseという項目をチェック。
データベース内の情報がだーっと出てきます。
その中のData Usageの項目を見ると…
「XX_commentmeta」や「XX_comments」というテーブルが、明らかに容量がおかしくなってました。
(XXは設定したWordPressの接頭語が入ります)

テーブルの名前見れば、コメント関連のデータだということはあっさりわかります。
ブログにコメント自体はそんなに無かったのですが、問題だったのはスパムコメント。
Akismitがスパムと認定してくれていたコメントが、3000を超えていましたww

そうとわかればスパムを消すのみ。
スパムを全部消して、WP-DBManagerのOptimize Databaseからデータベースを最適化してあげました。

なんということでしょう。
匠(WP-DBManager)の技により、あっさりとデータベース肥大化の問題は解決です。

念のためWP-DBManagerのBackup Databaseから、バックアップを走らせてみると、容量は元の5MBあたりに戻っていました。
これで次回のスケジュールからちゃんとメールでも送られて来ることでしょう。

また同じ事が起きないように、Akismitの設定で、「一ヶ月以上前の投稿につけられたスパムを自動削除する」にチェック入れました。
その他にも、気がついた時に自分で消去するようにします。
スパムコメント、こまめに消さなきゃダメだねー。