motionは動体検知ができるので便利ですが、しきい値を高めに設定したとしても保存されるファイルが膨大になりがちです。そこで、不要になった過去の画像を定期的に削除した方がよいでしょう。
そのためにはシェルスクリプトで削除したいファイルを検索し、必要とするファイル以外については削除し、それをcronで定期的に実行するように設定すればよいでしょう。シェルスクリプトは「delete_file.sh」というファイル名にして、コマンドを記述します。
$ nano /home/pi/delete_file.sh
としてnanoを開いたら以下の内容を記述しましょう。
#!/bin/bash find /home/pi/motion \( -name "*.jpg" -or -name "*.mkv" \) -mtime +0.5 -delete exit 0
この記述は以下のような意味となります。
ファイルの拡張子や何日前のファイルを削除するかについては、環境に応じて設定してください。このあとcronを利用して、一定時間で上のスクリプトが起動されるようにします。また実行できる形式にするため、
$ chmod +x delete_file.sh
と設定します。そのあと「crontab -e」でcronを開いたら、以下のように設定します。
0 */3 * * * /home/pi/delete_file.sh
この設定では3時間おきに「/home/pi/delete_file.sh」が起動しますので、その時刻になると、そこから12時間前以前のファイルが削除されます。なおcronの設定方法については第7回でも紹介していますので参考にしてください。
また、現在使われている容量を知るためには「du」コマンドを使うのが便利です(関連記事)。「du -d1 -xh | sort -n -r」と入力すると、「/home/pi」ディレクトリ以下の容量を少ない順に表示してくれます。
$ du -d1 -xh | sort -n -r 668K ./line_photo 588K ./motion 16K ./.local 8.0K ./.gnupg 5.4M . 4.1M ./rpicamera
容量は小まめに把握して、microSDメモリカードがいっぱいにならないように注意しましょう。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR