KUSANAGI MAGAZINEで「きもおたわーどぷれす。」が紹介されました! クリックで公式サイトが開きます。

KUSANAGIでwp-cron.phpを停止してOSで制御することでパフォーマンスとセキュリティの改善を図る【KUSANAGI9対応・初心者向け】

この記事は約4分で読めます。
記事内に広告が含まれています。

cronは、あるコマンドを設定したスケジュール(時間)に従って実行してくれるコマンドです。
ざっくり言うと、

タイマーだよ

cronにはWordPress上で動くWP-cronとUNIX系OSのcronがあります。
KUSANAGIのCentOSもUNIX系OSの一つであり、後者のcronが積まれています。
(以下、KUSANAGIのcronは単にcronとします)

WP-cronは予約投稿やプラグインの自動更新に使われる便利な機能です。
しかし一方で、サイトアクセスがある毎に作動するためパフォーマンスに悪影響を及ぼします。
また、
サイト攻撃で狙われやすい対象でもあります。
よって対策しておくに越したことはありません。

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

スポンサーリンク

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分ごと」の意味です。
ここを「10」にすると「毎時10分」になります。

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

crontabにはユーザー名オプションもありますが今回は不要です。

/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」はログを見るコマンド。
もっと知りたければこちらを御覧ください。

tail -fやtailfを使うのはやめてless +Fを使おう - Qiita
tailデータの末尾を見たい場合はtailを使い、更新されたデータをリアルタイムに見たい場合はtail -fを使います。「tail -fは情弱なのでtailfを...
スポンサーリンク

参考記事

【CentOS7】cronの設定方法

cron の設定とか簡易メモ

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

スポンサーリンク

まとめ

めんどくさい……

でもKUSANAGI使うのはパフォーマンス求めてのはず
だったらやれることはやった方がいいと思うわ

 

サイトを始めたい・引っ越したい方へ

おすすめレンタルサーバー「ConoHa WING」
Webサーバー処理速度 国内最速!
サイト管理・カスタマイズのタイパも抜群!
自動化AIのWEXALによって他社より負担を減らせます
各種キャンペーン施策によりコスパも抜群!
ConoHaに初めて入会かつ12か月以上のWINGパックなら
下のボタン経由で契約すると最大5000円の割引が受けられます

この記事を書いた人

素人の備忘録です。
素人がゆえにトラブルにぶつかりまくってきたので、同じように困った方の役に立てたらいいなと思ってます。
8年来のKUSANAGI推し。

元公安調査庁職員、発達障害(ADHD)

天満川 鈴をフォローする
KUSANAGI・WEXAL
タイトルとURLをコピーしました