doudonn WEB制作やサーバーの話とかいろいろ

Ubuntu 22.04.1 LTSのPHP8.2でPHPファイルをcronで実行する方法

doudonn 更新日:
Ubuntu 22.04.1 LTSのPHP8.2でPHPファイルをcronで実行する方法

やることは難しくないのですが、地味に失敗しがち。
簡単にまとめておく。

※Ubuntu 22.04.1 LTS
※PHP8.2

1、cronの記載場所

「/etc/cron.d」に実行したいファイルを置く。

cronはいろいろやり方がありますが、
自分はそこに置くのが一番好きです。

ここに置いたファイルは自動的に読み込んでくれて、
指定の時間通り実行してくれます。
Let’s Encryptのcertbotの自動更新cronもここにあります。

2、cronの記載内容

2 3 * * * nginx /usr/bin/php8.2 /var/www/html/doudonn.com/cron/test.php

左から順に

・実行スケジュール
・実行ユーザー
・実行プログラム
・実行ファイル

と書きます。

Ubuntu 22.04の場合は「/usr/bin」がルートで、
その下に「php8.2」などバージョン別にディレクトリがあります。
基本的には今使っているバージョンのやつを指定すると良い。

場所はこのコマンドで確認できる。

which php8.2

cronのリロードなどはする必要はありません。
保存したら自動的に読み込んでくれます。

3、cronログは保存するようにしよう

Ubuntu 22.04はデフォルトではcronログは保存しません。

保存するためには設定ファイルをいじる必要がある。
「/etc/rsyslog.d/50-default.conf」を修正します。

//これのコメントアウトを解除するだけ
#cron.*                          /var/log/cron.log

これで次回のcron実行時に自動的にログが作られます。
構文エラーなんかもここに出力されるので、新規cronを作ったら見ておこう。
ちなみに、エラーになったら二度と実行してくれません。

--

長い処理の場合はphp.iniでタイムアウト時間を変更しておこう。
Nginxは関係ないので、Nginxのタイムアウト時間を長くする必要はありません。

--

サーバーの関連記事

記事一覧はこちら:サーバー

管理人について
doudonn
名前:doudonn(どうどん)
ひたすらWEB制作な人。
一応社長です。音ゲー好き

<Twitterはこちら>
ゲーム垢
WEB制作垢
お知らせ

2022年11月30日に全記事削除しました。
まだ再開に向け作りかけ。


無駄にページ表示速度にこだわってます。

役立ちサイト
wiki
© 2022-2023 doudonn All Rights Reserved.