WordPressを使っていると、「actionscheduler_logs」というログが、データベースに溜まっている場合があります。
環境にもよりますが、数MB~数GBなど、ログファイルのくせに結構な容量を食っているケースも。
データベースファイルというのは、WordPressを使うにあたって、画像や動画などをアップロードしている「ディスクスペース」よりもずっと少ない容量で動作しているものですが、ファイルが肥大化するとWordPressの動作が鈍くなったり、ページの表示速度が低下する原因にもなるものです。
データファイルのディスクスペースは、レンタルサーバーによっては数GBの上限があるケースもあるため、DBの掃除はしておくに越したことがありません。
ムダなファイルは削除するべきという理念のもと、プラグインは使わずデータベースファイルから「actionscheduler_logs」を削除する方法を解説します。
actionscheduler_logsとは
そもそも「actionscheduler_logs」というのは、WP-Cronを使用する「action_scheduler_run_schedule」といったものが動作したときの処理履歴が、ログとして残っているものです。
メジャーどころだと、All in One SEO Packが「actionscheduler_logs」を残すプラグインになっています。
消さない限りすべてのログが残り続けるため、データベース肥大化の原因となるログファイルでもあります。
同じCronを使うプラグインでも、actionscheduler_logsにログを残さないものもあるため、「Cronを使うとログが残る」というわけではありません。
あくまでも、特定のWordPressフックを使用した際に残るものであるため、長期間運営していたとしてもactionscheduler_logsが肥大化していないケースもあります。
消しても無害なのか
actionscheduler_logsは、消しても無害です。
actionscheduler_logsのデータベースを削除したからといって、WordPressが真っ白になったり、プラグインが動かなくなったりすることはありません。
名前のとおりaction scheduler logsという、スケジュールされているアクションのログファイルですからね。
もちろん、操作を間違えれば大惨事となり、取り返しのつかないことにもなりかねないため、あらかじめのバックアップと、慎重な操作が求められます。
actionscheduler_logsのデータベースを削除する方法
actionscheduler_logsのデータベースを削除するために、phpMyAdminにアクセスする必要があります。
phpMyAdminにアクセスしたら、WordPressで使っている「データベース」をクリックして開いてください。
画像のような状態になるはずです。
該当のデータベースを開くことができたら、次に「actionscheduler_logs」のテーブルを探してチェックボックスに「チェック」を入れてください。
画像のように、チェックを入れ終わったら、次に進みます。
画面下の方に進むと「チェックしたものを」と書かれているドロップダウンリストがあるため、その中から「削除」を選択します。
「空にする」を選択した場合は、「削除」を「空にする」に読み替えてください。
また、画像に表示されている文字列が、どちらを選択したかによって異なりますが、重要な点は後述のとおりで変わりありません。
「削除」を選択すると、以下画像のような画面にすぐ移動するはずです。
「以下のクエリを本当に実行しますか?」と聞かれていますので「はい」を押せばactionscheduler_logsの削除、「いいえ」を押せば元の画面に戻れます。
ここで重要となるのが「actionscheduler_logs」を対象としているか、最終確認することです。
間違ったテーブルをデータベースから削除すると、本来必要だったデータが消えてなくなってしまいます。
本来は、ゆっくり操作を進めつつ、間違いがないことを確認していってもらいたいですが、さっさと消したい場合には、以下のようにactionscheduler_logsをすぐに削除することも可能です。
この例の場合だと、2.2MBほどactionscheduler_logsのテーブルとしてログファイルが、データベースに溜まってしまっていました。
ちなみに、「削除」しても「空にする」をしても、結果は変わりません。
「削除」すると、一瞬データベース上からactionscheduler_logsがすべて消えますが、WordPressにログインして操作を行っていると、自然と基本的なデータはすぐに生成されてきます。
そのため、「削除」と「空にする」のどちらで進んできたとしても、結果は変わりません。
actionscheduler_logsを削除しないとデメリットしかない
actionscheduler_logsに残されているログを監視するような方でもない限り、actionscheduler_logsを削除せずに残していると、デメリットしかありません。
そもそも、actionscheduler_logsというのは「定期的」な動作のログが主になっていますので、ログを漁る必要性すら薄いです。
actionscheduler_logsのログの中にどんなことが書かれているのか見たいのであれば、ログを削除する前に、phpMyAdminで開いて見てみてください。
大した情報も残していないのに、アホみたいに容量を食っているのがわかるはずです。
今回サンプルとして用意した環境では、2.2MBほどのダイエットにとどまりましたが、さほど更新頻度が高いわけでもない別のサイトで試したところ20MB以上のデータベースのダイエットができましたので、容量を食っている環境の方も多いハズ。
ジャム君が使っているエックスサーバーだと、データベースの容量は無制限になっていますが、レンタルサーバーによってはデータベース容量の上限が決まっているところもあるため、actionscheduler_logsが容量をバカ食いする前に、定期的なデータの削除をしてあげましょう。
コメント