さて、先日motionで監視カメラを作りましたが、画像がどんどん溜まっていくのでcronを使って削除することにしました。
しかし、これがハマりました。。
というわけでとりあえずやったことをメモ。
cronを起動
何はともあれ、cronを起動しておきます。
デフォルトで起動しているようですが・・・。
$ sudo /etc/init.d/cron start
/etc/hostsを編集
/etc/hostsの最後の行、
127.0.1.1 raspberrypi
の127.0.1.1の所をラズパイのIPアドレスに変更。
シェルスクリプトを作成する
findコマンドを使って画像(動画)を削除するシェルスクリプトを作成します。
$ sudo nano delimg.sh
#!/bin/bash find /home/pi/Pictures/motion ¥( -name '*.jpg' -or -name '*.avi' ¥) -mtime +1 -delete exit 0
ctrl+xで保存。
ここでは1日以上前のファイルを削除するようにしていますが(実際には48時間以上前らしい)、7日ぐらいでもいいかも。
あまり頻繁に削除してるとSDカードに悪い影響があるような無いような・・・。
次にdelimg.shに実行権限を与えます。
$ sudo chmod +x delimg.sh
実行権限が与えられているか、確認します。
$ sudo ls -l delimg.sh
xが付いていればオーケー。
crontabを編集
$ sudo crontab -e
毎日2時0分に動作するようにします。
00 2 * * * sudo sh /home/pi/delimg.sh
cron再起動
これ、結構重要かもしれないです。
とにかくcronを再起動します(笑)
$ sudo /etc/init.d/cron restart
なんとか動きました。。疲れた。。w
参考にしたサイト
Raspberry Pi | cronを使って定期的に写真撮影&メール送信
指定した日時に自動でコマンド実行できるcrondの使い方メモ