* 無粋な犯罪の抑止力として、大きな力を発揮する防犯カメラ。
webサーバに、防犯カメラサーバとしての機能を付加する。
|
|
24時間ノンストップで稼動しているWEBサーバがあるなら、
防犯カメラが撮影した画像を保存する場所として、これを利用しない手はありません。
というわけで WEBサーバ上に、防犯カメラシステムを構築してみる事にしました。
今回使用のカメラは、
パナソニック ホームネットワークカメラ BL-C131(屋内用)無線LAN接続タイプ。
夜間では、こんなふうです。

カメラSETUPについての説明は、添付マニュアルの方が解りやすく載っているので、ここでは割愛します。
下図は、これから構築する カメラ と WEBサーバ と WindowsPCとの位置関係を表したもの。

このカメラは、WindowsPC から、すべての設定の操作ができます。
<防犯カメラ上の設定>
BL-131カメラのFTP機能を利用し、WEBサーバに画像を転送して保存できるようにする。
カメラからの画像転送先として、WEBサーバのローカルIPアドレスと転送先のパスの指定を済ませて置く。
例 ローカルIPアドレス192.168.35.10 , 転送先のパス /home/hoge/bouhan
<WEBサーバでの設定>
さて ここからが、本題です。 とは言っても簡単なスクリプト作成だけなのですが。
WEBサーバにもFTP接続が、構築されている事が前提で話を進めていきます。
カメラから転送してくる膨大な量の画像を、毎日1回 圧縮して7日間保存するバックアップスクリプトを作成します。
vi エディタを開き、
|
[root@bouhan ~]# vi bouhan.sh ← バックアップスクリプトを作成
#!/bin/bash
# bz2ファイルに圧縮
BACKUPNAME=`date '+%y%m%d.tar.bz2'`
# バックアップ先ディレクトリ
BACKUPDIR=/home/hoge/backup/
# バックアップする画像ファイルの場所を指定
BACKUPFILE=/home/hoge/bouhan
# 圧縮を実行
cd $BACKUPDIR
tar cjvfPT $BACKUPNAME $BACKUPFILE
cd
# 圧縮ファイルは、7日分とする
BACKUPGEN=7
# バックアップ保存世代を超えた古いバックアップを削除
if [ $(ls $BACKUPDIR/*.tar.bz2|wc -l) -gt $BACKUPGEN ]; then
OLDBACKUPCNT=`expr $(ls $BACKUPDIR/*.tar.bz2|wc -l) - $BACKUPGEN`
for file in `ls -t $BACKUPDIR/*.tar.bz2|tail -n $OLDBACKUPCNT`
do
rm -f $file
done
fi
# バックアップ後、*.jpg画像ファイルを全消去
find /home/hoge/bouhan -type f -name '*.jpg' -print0 | xargs -0 rm -f
[root@bouhan ~]# chmod 700 bouhan.sh ← バックアップスクリプトへの実行権限付加
[root@bouhan ~]# mkdir /home/hoge/bouhan ← カメラからの画像ファイル転送先ディレクトリを作成
[root@bouhan ~]# chown hoge. /home/hoge/bouhan ← 所有権をhogeユーザに変更
[root@bouhan ~]# echo "/home/hoge/bouhan" >> backup
← 画像ファイルのある場所を指定するbackupを作成
[root@bouhan ~]# mkdir /home/hoge/backup ← 画像ファイルを圧縮して保存するディレクトリを作成
[root@bouhan ~]# ./bouhan.sh ← バックアップスクリプト実行
[root@bouhan ~]# ls -lh /home/hoge/backup ← バックアップ先ディレクトリ bz2ファイル生成を確認
合計 1292
-rw-r--r-- 1 root root 1316245 8月 21 05:00 080821.tar.bz2
[root@citronjus ~]# crontab -e ← 定期自動実行設定ファイル
00 06 * * * /root/bouhan.sh ← 毎朝6:00にバックアップ定期自動実行
|