ブログを簡単に作成できるwordpressを使っている人向けのおすすめのレンタルサーバとしてもよく名前が挙がる「ColorfulBox」ですが、ブログだけで使うんじゃちょっともったいない!Pythonで作ったプログラムもColorfulBox上で実行できるよ!という記事を以前書きました。
以前の記事ではとっても簡単な、「こんにちは」と表示するだけのプログラムをサーバ上で実行するだけのものでしたが、それではあまり有用ではありません。今回は作成したプログラムを定期的に自動で実行する方法についてご紹介します。
この記事の目的
- Cron(クロン / クーロン / クローン)について知る
- ColorfulBox(サーバ)上でCronを用いてPythonで書かれたプログラムを実行する
Cron(クロン / クーロン / クローン)について知る
CronとはIT用語辞典から引用すると
cronとは、多くのUNIX系OSで標準的に利用される常駐プログラム(デーモン)の一種で、利用者の設定したスケジュールに従って指定されたプログラムを定期的に起動してくれるもの。
と、いうものです。CorofulBoxはLinuxで動いていますので、標準でCronが使用できるのです。それではCronはどのように使われるのか見ていきます。
少し機械的なコードですが、翻訳すると
「毎週月曜日の7時5分になったら’python3 test.py’を実行する」
という内容です。細かく見ていきます。
最初の数字とアスタリスク部分「5」「7」「*」「*」「1」はその後ろに記載してある’python3 test.py’という命令文をいつ実行するかを表します。それぞれの数値は以下順で記載します。
分 時 日 月 曜日 命令文
5 7 * * 1 命令文
分や時に指定できる値は次の通りです。
対象 | 範囲 |
---|---|
分 | 0〜59 |
時 | 0〜23 |
日 | 1〜31 |
月 | 1〜12 |
曜日 | 0〜7 |
大体イメージどおりかと思いますが曜日だけ注意。「0か7が日曜日」です。「1~6」は順番に「月曜日から土曜日」を表します。そのほか「*/10」とすることで10(単位)ごとに実行できたり、「1-3」と記述して「1,2,3」を指定することも可能です。
Cronの実行タイミング指定サンプル
いろいろなパターンを見て、イメージをつかみましょう。
- 0 7 * * * →毎日、7時に起動
- */5 * * * * →5分毎に起動
- * */1 * * * →1時間毎に起動
- 0,5 13 * * 0 →日曜日の13時と13時5分に起動
- 59 20-22 * * 1-5 →月曜日から金曜日の20時59分、21時59分、22時59分に起動
- 0 4 1 * * →毎月1日の4時に起動
- 0 4 * 1-3 1 →1月から3月の月曜日の4時に起動
ど、どうでしょうか。用途によって起動タイミングの頻度が変わると思いますのでうまいこと書けるようにしましょう。
ColorfulBox(サーバ)上でCronを用いてPythonで書かれたプログラムを実行する
イメージがつかめたところで、ColorfulBoxでの設定方法についてみていきましょう。
まず、cPanelにログインします。(cPanelのアクセス方法はColorfulBox公式の解説をご覧ください。)
そして、メニューの詳細タブにある以下ボタン「Cronジョブ」をクリックします。
すると、Cronの登録画面に遷移します。「新しい cron ジョブの追加」以下が設定画面です。
なんと、うれしいことに先ほど覚えた記載方法を意識することなく、どういうタイミングで実行させたいかというのをそれぞれのテキストボックスに入力するだけで出来るようになっています。(じゃあさっきまでの説明はなんだったのかとは言わないように)
また、「共通設定」のコンボボックスからよく使われる設定を選ぶこともできるのでなんとまあ便利なことでしょう。そして最後に「コマンド」を設定すればOKです。
コマンドの入力方法ですが、サーバ内のPythonファイルを実行したい場合、基本は以下のような入力方法になると思います。
source 「python本体の入っているフォルダ名」 && cd 「実行したいpythonファイルがあるフォルダ名」 && python test.py
なお、上記コードの書き方については繰り返しになりますが別記事でご紹介していますので併せてご覧ください。
コメント