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