RaspberryPiでプログラムを定期的に実行する

偏見ですが、RaspberryPiは何かしらのサーバに使われることが多いような気がします。

例に漏れず、自宅のRaspberryPiもサーバとして利用しています。

そのため、プログラムを定期的に実行したい場合があります。

Windowsで言うところのタスクスケジューラのようなものです。

今回はcronというものを使ってプログラムを定期的に実行する設定を紹介していきます。

スポンサーリンク

前提条件

  1. OS:Raspbian(※)
  2. 実行するのは自作pythonスクリプト

※Raspbianに限らずDebian系のLinuxOSではcronを使えるっぽいです

cronとは

プログラムを定期的に実行してくれるヤツです。

Windowsで言うところのタスクスケジューラの役割を果たしてくれます。

設定方法

crontabコマンドを使用します。

設定を変更する場合は、以下のように実行します。

crontab -e

書き方

以下のように、決められた書式で設定を記述します。

* * * * * [実行コマンド]

時間設定

「*」の部分は左から順に、分/時/日/月/曜日になります。

  • 分:0〜59
  • 時:0〜23
  • 日:1〜31
  • 月:1〜12
  • 曜日:0〜7(0と7が日曜、1=月/2=火/…)

時間設定の書式

以下の書式で設定することができます。

  • [1,2,3]:1と2と3
  • [1-5]:1〜5
  • [*/10]:10の間隔を空ける

設定例

以下に設定例を示します。

5 * * * * /home/pi/test.sh              #毎時5分にtest.shを実行
5 16 * * * /home/pi/test.sh             #16時5分にtest.shを実行
0,30 9 * * * /home/pi/test.sh           #9時0分と9時30分にtest.shを実行
0 0 1-10 * * /home/pi/test.sh           #毎月1日〜10日の0時0分にtest.shを実行
0 0 1-10 2,4,6,9,11 * /home/pi/test.sh  #2月、4月、6月、9月、11月の1日〜10日の0時0分にtest.shを実行
0 0 * * 1 /home/pi/test.sh              #毎週月曜日の0時0分にtest.shを実行
*/10 * * * * /home/pi/test.sh           #10分おきにtest.shを実行
0 0 */2 * * python3 /home/pi/pydayo.py  #2日おきにpythonスクリプトのpydayo.pyを実行

参考サイト

Cron – プログラムの定期実行 – Linuxで自宅サーバ構築・管理: KSKNET

プログラムを定期的に実行するには – IT

クーロン(cron)をさわってみるお – Qiita

スポンサーリンク


コメントを残す

メールアドレスが公開されることはありません。