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

More than 1 year has passed since last update.

Motionを時間指定で実行したい時のためにメモを残します。


要件

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

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


用意したもの

Raspberry Pi 3 Model B

cron

Motion(インストール済)


手順


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


Motion開始コマンド用ファイルの作成

sudo touch MotionStart.sh


sudo vim MotionStart.sh

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


MotionStart.sh

sudo Motion




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

sudo touch MotionEnd.sh


sudo vim MotionEnd.sh

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


MotionEnd.sh

sudo service motion stop



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

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 で細かいスケジュールの設定