KUSANAGIでWP-Cronを停止してOS側で制御する【KUSANAGI9対応】

cronは、指定したコマンドを設定したスケジュールに従って自動実行してくれる仕組みです。
ざっくり言うと、

タイマーだよ

cronにはWordPress上で動くWP-cronとUNIX系OSのcronがあります。
KUSANAGIのCentOSやalma Linuxにもcronが標準搭載されています。
(以下、KUSANAGIのcronは単にcronとします)

WP-cronは予約投稿やプラグインの自動更新に使われる便利な機能です。
しかし一方で、WP-Cronはサイトアクセスを契機に動作するためパフォーマンスに悪影響を及ぼします。
また、wp-cron.phpへの不要なアクセスを減らす意味でも対策しておくに越したことはありません。

本記事ではKUSANAGIでWp-cronを停止してパフォーマンスとセキュリティの改善を図ります。

天満川鈴 WRITTEN BY 天満川鈴
スポンサーリンク

wp-cron.phpを停止する

wp-config.phpに次の記述をします。

define('DISABLE_WP_CRON', 'true');

試しに投稿予約をしてテスト投稿してみてください。
時間が過ぎても予約投稿が失敗しているはずです。

crontabを編集してwp-cron.phpを定期的に叩く

しかしこのままでは投稿予約その他ができなくなってしまいます。
この点、

予約した時間が過ぎてしまっていても、wp-cron.phpを動かせばその時点でタスクが実行されます

なのでOSのcronを利用してwp-cron.phpを定期実行します。
具体的にはcrontabを編集します。

ターミナルにログイン。
次のコマンドを入力します。

# crontab -e

編集画面が開きます。
KUSANAGIの場合、恐らく次の記述がされていると思います。

07 03 * * 0 /opt/kusanagi/bin/kusanagi update cert

この下に次の記述を追加します。

*/10 * * * * /usr/local/bin/php -q /home/kusanagi/【プロファイル名】/DocumentRoot/wp-cron.php > /dev/null 2>&1

以下、最小限必要な説明のみさせていただきます。

「*/10」は「10分ごと」の意味です

数字は御自身の用途に応じて変更してください。
今回の目的ですと左端と左から2番目までしか使わないでしょうから説明はそこまでにとどめます。
設定できる数字はそれぞれ「0-59」と「0-23」です。

/dev/null 2>&1

これはログを標準出力にまとめる設定です。

編集画面を閉じ、必要に応じてcronを再起動します。

systemctl restart crond.service

今回設定したファイルは次の場所にあります。

/var/spool/cron

cronの動作確認・テスト

予約投稿テスト

テスト投稿を作成します。
適当に投稿予約の設定をして、cronで設定した間隔の時間がすぎるまで待ちます。

(例)10分おきに設定した場合
13時12分に記事を書く
→13時15分に投稿予約
→13時18分に予約失敗しているのを確認
→13時22分に「公開済み」になっているのを確認

ログの確認

ログからcronが動いているか確認します。

less +F /var/log/cron

動いていれば設定した時刻に「CMD」「CMDEND」が表示されています。

「less +F」はログを見るコマンド。
もっと知りたければこちらを御覧ください。

参考記事

【CentOS7】cronの設定方法

cron の設定とか簡易メモ

【Ubuntu】cronでsudoを実行するにはどうすれば。

まとめ

正直言いましてめんどくさかったです。
しかし、あえて共用サーバーではなくVPSでKUSANAGI使うのはパフォーマンス求めてのはず。

少しでも軽く出来るなら、やれることはやっておきたいです!

スポンサーリンク
天満川 鈴のプロフィール画像
WRITTEN BY

天満川 鈴

未経験からWEB業界に入り、現在はWEBディレクターとして実務に従事。 要件整理・導線設計・コンテンツ構成などを学びながら、日々改善を重ねています。 AIを活用したコンテンツ制作・効率化を強みとし、プロンプト設計を含めた制作フローの最適化にも取り組んでいます。
本サイトでは、WordPressやサイト制作に関する試行錯誤・検証内容を中心に発信。 技術検証の一環として、KUSANAGI公式サイトにて記事を2回紹介いただきました。

KUSANAGI ON VPS

VPSは、もう「黒い画面」だけじゃない。

「VPSは難しそう」と諦めていませんか? ConoHaのKUSANAGIなら、ブラウザ上の管理画面(KUSANAGI Manager)で、ドメイン設定からSSL発行まで直感的に操作可能です。

コマンド操作なしで世界最速級の環境を構築できる、今の時代の初心者にとっての最適解。私が長年愛用している理由がここにあります。

※当サイト経由で新規申し込みいただくと、特典として1000円分のクーポンをもらえます。

公式サイトで詳細を見る
× 閉じる