このページに書いてあること
cronを使って、1分おきにカメラで撮影したいと思ったのですが、 思ったより、はまったので、メモをしておきます。 できているつもりでしたが、相対パスを記載していたため、バグに気づきませんでした。
cronの設定
下記コマンドで、出力されるファイルを変更する
crontab -e
変更例①
//アスタリスク(*)の意味は左から順に //分 時 日 月 曜日 コマンド らしい。 //1時間ごとに、0分の時にカメラでキャプチャするなら下記のように 0 */1 * * * sh /home/pi/Work/capturetest.sh
cronのストップ、再起動、確認
cronの設定を上書きするため、一度、ストップし、再起動して、cronが動いているか確認する
そのためのコマンドは下記
◆ストップ
sudo systemctl stop cron
◆再起動
sudo systemctl restart cron
◆動いているか確認
sudo systemctl status cron
下記のようにrunnningと出てれば動いている
cron.service - Regular background program processing daemon Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: ena Active: active (running) since Fri 2022-10-28 14:48:52 JST; 7min ago Docs: man:cron(8) Main PID: 6674 (cron) Tasks: 1 (limit: 4915) CGroup: /system.slice/cron.service mq6674 /usr/sbin/cron -f -L 15
はまったこと
上記の変更例①でcapturetest.shの中身を見ると
/usr/bin/python3 /home/pi/Work/captureTest.py
上記のようにpython3コマンドの絶対パスを記載すること さらに、.pyの中身でパス指定している場合は、絶対パスにしておくこと。 私の場合は、”./”以下に保存するようにpythonで記載していたため、 cronが動いていても、ルート直下に画像が保存されていた。
はまらないで、開発スピードを上げたい。。。。今日この頃