ConoHa WINGのジョブスケジューラー(cron)でphpを自動実行してファイル保存する方法

ConoHa WINGのジョブスケジューラー(cron)でphpを自動実行してファイル保存する方法 ひとまず書いてる

レンタルサーバーのConoHa WINGでは、ジョブスケジューラー(cron)機能があります。日時を指定してプログラムを定期自動実行できる機能です。

プログラムの定期自動実行でやりたいことがあったので、サポートページのご利用ガイドを見てみるも、詳細について記述がなかったので備忘録です。

解決できること

ジョブスケジューラー(cron)で、phpを定期実行してファイルを保存する。

ファイルを保存するphp

ファイルを保存するphpを用意してftpでアップロードしておきます。
ブラウザでアクセスすると、同ディレクトリにdata_text.txtが作成されます。

file_put_contents(__DIR__."/data_text.txt" , "データテキスト");

注意するのは、ファイルパスです。ジョブスケジューラーでプログラムを実行すると、cronのある場所を基本に実行するので、ファイル保存するパスを絶対パスで記述します
ここでは__DIR__を使用しています。

ブラウザでsave_text.phpにアクセスすると、同ディレクトリにdata_text.txtが保存されます。

ジョブスケジューラーで設定

日時指定・定期実行するためにジョブスケジューラーの設定をします。
管理画面>サーバー管理>ジョブスケジューラーを選択して、+ジョブスケジューラーを追加します。

定期実行の日時設定

処理日時のcronタブを選択すると、入力欄が出てきます。

入力例がサポートサイトにありません。
例えば、以下の入力だと、

毎時間、5分の時(10:05、11:05、12:05…)に定期実行されます。
毎分5分ごとに定期実行するためには、*/5を入力します。

他に
複数指定「5,15」=>5分と15分
範囲指定「20-40」=>20分から40分
の指定があります。

コマンドの設定(パス記述例)

コマンド欄はphpのパス プログラムファイルのパスを入力します。以下は例です。

	
/opt/alt/php80/usr/bin/php /home/{conohaのユーザーID}/public_html/{サイトディレクトリ}/{不ファイルまでのパス}/save_text.php

phpのパスは、こちらに各プログラムのパスがありました。

phpバージョン8の記述はありませんが、「/opt/alt/php80/usr/bin/php」でOKです。

FTPで確認

定期実行されているか、FTPで確認します。
conohaレンタルサーバー良いですね。

コメント

  1. neko より:

    ConoHaさんのマニュアル ( https://support.conoha.jp/w/jobscheduler/ ) にはコマンド入力方法の記載がなく困っていました。まさかphpのパスも必要だったとは…
    おかげさまで助かりました。どうもありがとうございます。

  2. コメントありがとうございます。
    記事がお役に立って良かったです。

タイトルとURLをコピーしました