メインコンテンツまでスキップ

Raspberry Piでスケジュール実行する方法

記事作成日: 2019/12/08
記事更新日: 2019/12/08

※この記事はQiitaに投稿した記事を加筆修正しております。

Motionを時間指定で実行したい時のために手順を紹介します。

目的

毎日8:00~19:00の間でMotionを実行したい

※将来的には平日のみ起動させたいが今は保留

使うもの

  • Raspberry Pi 3 Model B
  • cron
  • Motion(インストール済)

手順

1. Motion開始(終了)コマンドが書かれたバッチファイルを作成する

Motion開始コマンド用ファイルを作成します。

sudo touch MotionStart.sh
sudo vim MotionStart.sh

MotionStart.shにMotionサービスを開始するプログラムを書きます。

sudo Motion

Motion終了コマンド用ファイルの作成

sudo touch MotionEnd.sh
sudo vim MotionEnd.sh

MotionEnd.sh にMotionサービスを停止させるプログラムを書きます。

sudo service motion stop

2. cronのログが出力されるようにする

rsyslog.confにアクセスします。

sudo vim /etc/rsyslog.conf

該当行のコメントアウトを外します。

#cron.* /var/log/cron.log

cron.* /var/log/cron.log

保存をしたらログ管理システムを再起動します。
sudo /etc/init.d/rsyslog restart

3. cronに登録する

crontabに以下のコードを追加します。
crontab -e

#毎日8時にプログラムを実行
00 8 * * * sh /home/pi/MotionStart.sh
#毎日19時にプログラムを実行
00 19 * * * sh /home/pi/MotionEnd.sh

スケジュールされているか下記のコードで確認します。
crontab -l 

スケジュールが動いているかはログを見ることで確認できます。   sudo cat /var/log/cron.log

参考サイト

決まった時間に処理する
crontab で細かいスケジュールの設定