【Python勉強会】さくらサーバにおけるcronの設定~.pyファイルを動かす~

どうも!リョクちゃです。

今回は、cronと呼ばれるスクリプトを自動実行してくれるツールを活用して、

.pyファイルを定時実行できるようにする方法を紹介していきます。

前回はさくらサーバでのPython環境を構築しました。

※この設定ができていることが前提条件になります。

ちなみに前回はこちら

さくらサーバでPythonを実行するにはどうしたらいいか、取り組んでみたのでまとめています。Pythonで定期実行したいけど、自分のパソコンだと電気代もかかって大変だし、そもそもサーバがないからレンタルサーバを契約して、そこで実行させたいけど、やり方がわからないといった点について参考になれば嬉しいです。



cronとは

調べてみると

cron とは、ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。そして、Linux システムの管理を行なう場合、ログのローテートや、バックアップなど、定期的に自動実行したいジョブが数多くあります。特に、バックアップなどは、システムへの負荷が大きいため、通常は、ユーザからのアクセスが少ない、深夜や早朝に行なわれます。

cronの設定ガイド

今回実行させたいファイル(.pyファイル)がスクリプトにあたります。

Windowsでいう、タスクスケジューラにあたりますね。

設定したスケジュールに従って指定されたプログラム、スクリプトを実行してくれるので。

cronの設定

スポンサーリンク




さくらサーバへログイン

さくらサーバ上でcronの設定をするには、まずさくらサーバへログインします。

ログインすると、下図の画面が開きます。

cronの設定をするには、左メニューバーのスクリプト設定から設定画面を開きます。

スクリプト設定 → CRON設定をクリックしていきます。

CRON設定をクリックすると、下図の画面が開き設定が行えます。

ジョブの追加

では早速ジョブの追加をしていきます。

手始めに今回は以下の.pyファイルをジョブとして登録します。

ジョブを追加するには、”スケジュールの追加”をクリックします。

下図の画面が表示されます。

実行コマンドの設定

実行コマンドでは、今回は以下のコマンドを使用します。

</home/usr/local/python/bin/>python3 <実行したい.pyファイル名>

python3コマンドを実行するには、フルパスを指定しておかないと、

さくらサーバではエラーになります。

単にプログラムの場所(python3を書いただけ)を指定しただけでは×なので、

注意が必要です。

注意!!

実はこのコマンドを設定しただけでは正常に実行することができません。

実行したい.pyファイルがあるディレクトリまで移動しないとダメでした。

移動には以下のコマンドを使用します。

cd <.pyファイルが保存されている場所>

そのため、実行コマンドは2段構えの構成になります。

2段構えの構成にするには、

cd <.pyファイルが保存されている場所>; python3 <.pyファイル名>
;(セミコロン)“を付けて区切ります。
こうすることで、cdコマンドを実行後.pyファイルを実行するコマンドが順に実行されます。

実行日時の設定

実行日時では、いつ実行したいのかを決める設定をします。

  • 月 : 1~12の範囲で設定
  • 日 : 1~31の範囲で設定
  • 時 : 0~23の範囲で設定
  • 分 : 0~59の範囲で設定
  • 曜 : 0~7の範囲で設定 (0:日曜日 7:土曜日)
    → さくらサーバではチェックボックスにチェック

例) 5分おきにプログラムを実行したい場合、実行日時には

  • 月 : *
  • 日 : *
  • 時 : *
  • 分 : */5
  • 曜 : 全ての曜日にチェック

になります。
月や日などの指定がない項目については、*を入力します。
何分毎にの毎が含まれる設定については、*/を入力し、その後に間隔を設定します。
例) 5月5日 12時30分に実行したい場合
以上がcronの設定になります。
動作の確認は、次回まとめて行っていきます!

まとめ

さくらサーバで.pyファイルを実行する際のcronの設定について
簡単にざっくりと紹介していきました。
cronについて触りだけでも理解してもらえたら嬉しいです。
最後までお読みいただき、ありがとうございます。
スポンサーリンク