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