どうも!リョクちゃです。
今回は、cronと呼ばれるスクリプトを自動実行してくれるツールを活用して、
.pyファイルを定時実行できるようにする方法を紹介していきます。
前回はさくらサーバでのPython環境を構築しました。
※この設定ができていることが前提条件になります。
ちなみに前回はこちら
目次
cronとは
調べてみると
cron とは、ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。そして、Linux システムの管理を行なう場合、ログのローテートや、バックアップなど、定期的に自動実行したいジョブが数多くあります。特に、バックアップなどは、システムへの負荷が大きいため、通常は、ユーザからのアクセスが少ない、深夜や早朝に行なわれます。
今回実行させたいファイル(.pyファイル)がスクリプトにあたります。
Windowsでいう、タスクスケジューラにあたりますね。
設定したスケジュールに従って指定されたプログラム、スクリプトを実行してくれるので。
cronの設定
さくらサーバへログイン
さくらサーバ上でcronの設定をするには、まずさくらサーバへログインします。
ログインすると、下図の画面が開きます。
cronの設定をするには、左メニューバーのスクリプト設定から設定画面を開きます。
スクリプト設定 → CRON設定をクリックしていきます。
CRON設定をクリックすると、下図の画面が開き設定が行えます。
ジョブの追加
では早速ジョブの追加をしていきます。
手始めに今回は以下の.pyファイルをジョブとして登録します。
1 |
print("Hello World") |
ジョブを追加するには、”スケジュールの追加”をクリックします。
下図の画面が表示されます。
実行コマンドの設定
実行コマンドでは、今回は以下のコマンドを使用します。
python3コマンドを実行するには、フルパスを指定しておかないと、
さくらサーバではエラーになります。
単にプログラムの場所(python3を書いただけ)を指定しただけでは×なので、
注意が必要です。
実はこのコマンドを設定しただけでは正常に実行することができません。
実行したい.pyファイルがあるディレクトリまで移動しないとダメでした。
移動には以下のコマンドを使用します。
そのため、実行コマンドは2段構えの構成になります。
2段構えの構成にするには、
実行日時の設定
実行日時では、いつ実行したいのかを決める設定をします。
- 月 : 1~12の範囲で設定
- 日 : 1~31の範囲で設定
- 時 : 0~23の範囲で設定
- 分 : 0~59の範囲で設定
- 曜 : 0~7の範囲で設定 (0:日曜日 7:土曜日)
→ さくらサーバではチェックボックスにチェック
例) 5分おきにプログラムを実行したい場合、実行日時には
- 月 : *
- 日 : *
- 時 : *
- 分 : */5
- 曜 : 全ての曜日にチェック
まとめ
・こちらの書籍を参考にPythonの理解を深めました。