www.smiyasaka.com は、2022 年 11月から Oracle LInux 8.X にOSを変更しました。 |
定点カメラプログラム |
本ホームページで使用している 30秒毎撮影する定点カメラプログラム の全文です。 2022年4月 処理を早くする為、処理を分割しました。 メインプログラム( webcam.sh )から、下記処理を別処理にしました。 ① 天気の種分けを判定する処理 ② 6:00・12:00 及び 10分毎に取った写真の保存処理 ③ タイトル文字の合成処理 これらの処理は、crontab で定時に実行させています。 私の町の天気情報の取得は、 ① 毎時定刻の天気情報(1時間データ)は、yahoo から ② 毎時 30 分の天気情報(10分データ)は、日本気象協会 から するようにして、結果は、fswebcam のタイトルデータとして即使用できるように編集してテキストファイルとして保存しました。 各プログラムの起動は、crontab で New_webcam.sh <--- 6~18時の間、1分毎に起動 yahoo_ondo_get.pl <--- 毎時9分に起動 yahoo_ondo_get_tenki.pl <--- 毎時42分に起動 定時実行させています。 撮影データ保存処理の起動は、crontab で webcam_10_save.sh <--- 6~17時の間、10分毎に起動 webcam_0600_save.sh <--- 6時10分に起動 webcam_1200_save.sh <--- 12時10分に起動 定時実行させています。 ----------------------------------------------------------------- 以下は、私の作成した各プログラムソースの全文です。 ----------------------------------------------------------------- メインプログラム New_webcam.sh ----------------------------------------------------------------- |
||
#!/usr/bin/bash <---- CentOS 7.X では、#!/bin/bash になります。
####------------------------------------------------------------------------------
####
#### fswebcamによる静止画の取り込み。( 30秒 毎撮影、保存は別プログラムで行う。)
####
#### 気象データの取得処理
####
#### 9 */1 * * * /var/www/html/www.smiyasaka.com/SSI/yahoo_ondo_get.pl
#### 42 */1 * * * /var/www/html/www.smiyasaka.com/SSI/yahoo_ondo_get_tenki.pl
####
#### webcam 撮影データ保存処理
####
#### */10 6-17 * * * /var/www/html/www.smiyasaka.com/webcam/webcam_10_save.sh
#### 10 6 * * * /var/www/html/www.smiyasaka.com/webcam/webcam_0600_save.sh
#### 10 12 * * * /var/www/html/www.smiyasaka.com/webcam/webcam_1200_save.sh
####
#### uvcvideoモジュールを無効にする /usr/sbin/rmmod uvcvideo
#### uvcvideoモジュールを有効にする /usr/sbin/modprobe uvcvideo
####------------------------------------------------------------------------------
#### fswebcam 撮影コマンドサブルーチン
####------------------------------------------------------------------------------
function Camera_shooting(){
#
#---------- ELECOM Brightness=45% Contrast=40% -r 1280x1024 -----------------
#---------- Logicool Brightness=65% Contrast=15% -r 1280x960 -----------------
# --banner-colour '#FF000000' -S 4 -r 1280x960\ バーナー:透明
#
/usr/bin/fswebcam -p YUYV --bottom-banner --line-colour '#FF000000'\
--banner-colour '#FF000000' -S 2 -r 960x720\
--title ${Title}\
--font '/var/www/html/www.smiyasaka.com/Font/VL-Gothic-Regular.ttf:24'\
--text-colour '#FFFF00'\
-s Brightness=65%\
-s Contrast=15%\
--timestamp '%Y-%m-%d %H:%M:%S' --jpeg 95 --save ${INFILE60}
#
}
####------------------------------------------------------------------------------
Khour=$(date +%H) # 時(00-23)
Kmm=$(date +%M) # 分(00-59)
Kmd=$(date +%m%d) # 月日(mmdd)
www="/var/www/html/www.smiyasaka.com" # Dir pass
INFILE60="${www}/webcam/camdata.jpg" # 1分撮影 Save Dir
#
K_flg="on" # 起動フラグ
K_Now_time=`expr ${Khour} \* 60 + ${Kmm} \* 1` # 現在時刻 (単位 : 分)
K_Start=`expr 6 \* 60` # スタート時刻 6:00 (単位 : 分)
K_End=`expr 17 \* 60 + 45 \* 1` # 終了時刻 17:30 (単位 : 分)
#---------------------------------------------------------------------------------
# 6:00時から17:45時まで撮影( K_flg="on" )する
#----------------------------- 前処理 Start -----------------------------------
#
if [ ${K_Now_time} -ge ${K_Start} -a ${K_Now_time} -le ${K_End} ]; # if A
then
K_flg="on" # 起動フラグ
else
#---------------------------------------------------------------------------------
# 時間外の処理
# 終了時刻からは stop.jpg を ---> camdata.jpg に書込みする。
# 但し、一度書込んだら、二度目からは、パスさせる。
#---------------------------------------------------------------------------------
if [ ${K_flg} = "on" ];
then
\cp ${www}/webcam/stop.jpg ${INFILE60}
K_flg="off"
fi
fi # if A
#----------------------------- 前処理 End -------------------------------------
#============================= Main Start =====================================
#----------------------------- K_flg="on" の時に実行させる ----------------------
#
if [ ${K_flg} = "on" ]; # if B
then
#---------------------------------------------------------------------------------
# 事前に作成した気象情報を取得する処理
#---------------------------------------------------------------------------------
Y_file=$(cat /var/www/html/www.smiyasaka.com/TXT/myyahoo.txt)
#echo Read Data ${Y_file}
#
ary=(`echo ${Y_file}`) # 配列へ代入
#
#時刻:${ary[0]} 温度:${ary[1]} 雨量:${ary[2]}
#風速:${ary[3]} 日照時間:${ary[4]} 降雪:${ary[5]}
# Title:${ary[6]}
# nkf フルパス指定しないと動作しない
# nkf -w : 変換コード UTF-8 指定
# 文字化け対策処理
#(システムの日本語文字コードUTF-8の時は、文字コード変換は不要です。)
#Title=$(echo ${ary[6]} | /usr/local/bin/nkf -w)
Title=${ary[6]}
#echo Title ${Title}
#---------------------------------------------------------------------------------
# lsusbコマンドでUSBカメラの接続情報を取得する。
# その中に"Logitech"の記述があるかないかでUSBカメラの動作を判断する。
#---------------------------------------------------------------------------------
USB=$(/usr/bin/lsusb)
# Logicool USB Camera C270sCW
USB1=$(echo ${USB} | grep "Logitech")
if [ ! -z "${USB1}" ]; # if B4
then
echo "Logicool"
fi # if B4
#
# ELECOM USB Camera
if [ -z "${USB1}" ]; # if B5
then
USB1=$(echo ${USB} | grep "Elecom")
if [ ! -z "${USB1}" ]; # if B6
then
echo "ELECOM"
fi # if B6
fi # if B5
#---------------------------------------------------------------------------------
#
# USBカメラが動作している時には、抽出文字列が${USB1}にセットされる。
#
#echo USB1 Data = ${USB1}
#---------------------------------- 撮影前処理 Start ---------------------------
if [ -z "${USB1}" ]; # if C
then
\cp ${www}/webcam/ngcamera.jpg ${INFILE60}
echo "camera NG"
exit
else
#
#---------------------------------- 撮影前処理 End ------------------------------
#
#---------------------------- 1回目撮影処理 Start ----------------------------
#-------------------------- uvcvideoモジュールを有効にする --------------------
#
/usr/sbin/modprobe uvcvideo
#
Camera_shooting
#
#-------------------------- 1回目撮影処理 End --------------------------------
#---------------------------------------------------------------------------------
#### 30 秒後の処理
#
sleep 26s; # 25 秒待って繰り返し処理実行 上記処理時間を考慮
#
#-------------------------- 2回目撮影処理 Start -----------------------------
#
Camera_shooting
#
#-------------------------- 2回目撮影処理 End -------------------------------
fi # if C
fi # 30 秒 更新処理 End # if B
#
#============================= Main End =====================================
#
#-------------------------- uvcvideoモジュールを無効にする --------------------
/usr/sbin/rmmod uvcvideo
#=================================================================================
yahooアメダス HTML のフォームから、今の気象情報を毎時10分に取得するプログラム |
||
#!/usr/bin/perl
#----------------------------------------------------------------
# yahooアメダス近永 HTML のフォームから、今の気象情報を
# 毎時10分に取得する。
#
# yahooへのアクセスへのアクセス軽減と
# エラーログを減らす目的で、変更。
# ファイル名 : yahoo_ondo_get.pl
# 属性 : 755
# データファイル : myyahoo.txt 属性 777
#------------------------------------------------------------
#
# crontabで、定期的に起動をかけるときの、パス指定は、絶対パス
# を指定しなければならない。
#
$ondofile = "/var/www/html/www.smiyasaka.com/TXT/myyahoo.txt";
#
$ondo = `export LANG=ja_JP.eucJP; /var/www/html/www.smiyasaka.com/SH/yahoo_ondo.sh`;
# 時間 温度 雨量 風速 日照時間 降雪量
($jikan,$do,$ame,$dd1,$sun,$snow)=split(/ /,$ondo);
#$jikan = $jikan / 1; # 不要な文字削除 H26.04.14
#
# データファイルのOpen
#
if (!open(OUT, "+<$ondofile")) {
$msg = '[not found]';
print $msg;
exit(0);
}
#
# ファイルロック
#
if (!&lock_file(OUT)) {
$msg = '[lock error]';
print $msg;
exit(0);
}
#
#------------------------------------------------------------------------
# 天気情報編集
#------------------------------------------------------------------------
# 時間 温度 雨量 風速 日照時間 降雪量
#($jikan,$do,$ame,$dd1,$sun,$snow)=split(/ /,$ondo);
$jikan =~ s/\n//; # 改行 \n を削除する
# perl と sh の漢字コードは、異なるので注意すること。
# 漢字は、perl 側で付けないと文字化けする。
$jikan_web = "$jikan時";
$jikan_top = "$jikan時";
#
$do =~ s/\n//;
$ame =~ s/\n//;
$dd1 =~ s/\n//;
$sun =~ s/\n//;
$snow =~ s/\n//;
#
#$jikan =~ s/[^0-9]//; # 数字以外を削除する
##$jikan = $jikan/1; # 簡易的に数字以外を削除する
# ex 10時のデータが 1024 になるので 100 で割って小数点で分割した。
#$jikan00 = $jikan/100;
#($da1,$da2)=split(/\./,$jikan00); # H25.03.02 追加
#
#if ($da1 == 0 ) { $da1 = $jikan } # if A ~ if end
#
$Msun=$sun;
# "---" は、html では、コメントに使えないので "===" にする。
if ($sun eq "---"){ $Msun="===" } # if B
#--------------------------------------------------------------------------------
if ($ame > 0) { # if C
# 雨量の有る時 時間に関係なく雨量表示
# 文字列結合でしないと雨量が取り込めない
$T04="雨_(".$ame."mm)";
} else { # if C else
#--------------------------------------------------------------------------------
# 雨量なしの時
$T02="";
#
# 日照時間の表示のデータが無い時(---)は、天気 表示しない。
#
if ($sun ne "---"){ # if E
$T03="天気";
if ($ame == 0 && $sun > 50) { # if F 晴 日照時間 50 分以上
$T04="晴";
} else { # if F else
if ( $sun > 5 ) { # if G 晴曇, 曇晴, 曇
if ( $sun > 30 ) { # if H 晴曇 日照時間 30 ~ 50 分
$T04="晴曇";
} else { # if H else 曇晴 日照時間 5 ~ 30 分
$T04="曇晴";
} # if H end
} else { # if G else 曇 日照時間 5 分以下
$T04="曇";
} # if G end
} # if F end
} else { # if E else
$T04=" ";
} # if E end
} # if C end
#
$Title = "_$jikan_web現在_$do度_$T02_$T03_"."$T04"."_風速_$dd1"."m";
print "$Title\n";
#print "$ondo\n";
#------------------------------------------------------------------------
# yahoo 近永のアメダスデータ保存
# 時 温度 降水量 風速 日照時間 降雪量
seek(OUT, 0, 0);
print OUT "$jikan_top\n";
print OUT "$do\n";
print OUT "$ame\n";
print OUT "$dd1\n";
print OUT "$sun\n";
print OUT "$snow\n";
print OUT "$Title\n";
&unlock_file(OUT);
close(OUT);
# 終了
exit(0);
#---------------------------------------------------------
#
# &lock_file オープンしてあるファイルのロック
#
sub lock_file {
local(*FILE) = @_;
if ($uselock) {
eval("flock(*FILE, 2)"); # 2=LOCK_EX
if ($@) {
# flockが使えない場合、ここに来る
return 0;
}
}
return 1;
}
#---------------------------------------------------------
#
# &unlock_file ファイルのアンロック
#
sub unlock_file {
local(*FILE) = @_;
if ($uselock) {
eval('flock(FILE, 8)'); # 8=LOCK_UN
}
}
#---------------------------------------------------------
yahooアメダス HTML のフォームから、今の気象情報を取得するプログラム |
||
#!/usr/bin/bash
#=========================================================================
# yahoooのアメダス近永のHTMLソースデータを取得する。
#
wget https://weather.yahoo.co.jp/weather/amedas/38/73446.html
#
#--------------------------------------------------------------------------
#(システムの日本語文字コードUTF-8の時は、文字コード変換は不要です。)
#/usr/local/bin/nkf -e --overwrite 73446.html # UTF-8 ---> EUC コード変換
#--------------------------------------------------------------------------
Tday=$(date +%d)
Kd=`expr $Tday \* 1` # 日付の0をカットする
#--------------------------------------------------------------------------
# 一致した行の後の25行を取得する
IP1=$(grep -A25 "<small>$Kd日<br>" 73446.html)
#
IP3=$(echo $IP1 | sed -e "s/<td align=center bgcolor=#eeeeee width=6% nowrap>//g")
# 文字列削除
IP41=$(echo $IP3 | sed -e "s/<small>/ /g") # <small> --> " "
IP42=$(echo $IP41 | sed -e "s/<\/small> <\/td> <td align=center width=14%>//g")
IP43=$(echo $IP42 | sed -e "s/<\/small>//g")
IP44=$(echo $IP43 | sed -e "s/<\/td>//g")
IP45=$(echo $IP44 | sed -e "s/<td align=center width=16%>//g")
IP46=$(echo $IP45 | sed -e "s/<br>//g")
IP47=$(echo $IP46 | sed -e "s/<\/tr>//g")
IP48=$(echo $IP47 | sed -e "s/$Kd日//g") # 日付 削除
### 数字・"."・" "・"-" 以外削除26日(金) 9時 5.9 2.0 南南西 1.0 0 ---
### 2021.11.28 修正 -0.5 ---> .5 なる
IP49=$(echo $IP48 | sed -e "s/[^0-9 \. -][^-]/\t/g")
#
#echo $IP49
# スペースで分割して配列へ代入
array=(${IP49// / })
#
echo "${array[0]} ${array[1]} ${array[2]} ${array[3]} ${array[4]} ${array[5]}"
#-----------------------------------------------------------------------
# 時 温度 降水量 風速 日照時間 降雪量
# 9 5.9 2.0 1.0 0 ---
#-----------------------------------------------------------------------
# 73446.htmlのデータ、不要なのでファイルを削除する。
# これをしないと、73446.htmlのファイルが沢山作られます。
rm 73446.html
#
日本気象協会 tenki.jp HTMLのフォームから、 |
||
#!/usr/bin/perl
#----------------------------------------------------------------
# 近永(チカナガ)のアメダス実況 - 日本気象協会 tenki.jp HTMLの
# フォームから、今の気象情報( 10分更新情報 )を
# 毎時 42 分( XX:30 のデータ)に取得する。
#
# ファイル名 : yahoo_ondo_get_tenki.pl
# 属性 : 755
# データファイル : myyahoo.txt 属性 777
#------------------------------------------------------------
#
$ondofile = "/var/www/html/www.smiyasaka.com/TXT/myyahoo.txt";
#
$ondo = `export LANG=ja_JP.eucJP; /var/www/html/www.smiyasaka.com/SH/tenki_jp_read.sh`;
# 時間 温度 雨量 風速 日照時間 降雪量
($jikan,$do,$ame,$dd1,$sun,$snow)=split(/ /,$ondo);
#
# データファイルのOpen
#
if (!open(OUT, "+<$ondofile")) {
$msg = '[not found]';
print $msg;
exit(0);
}
#
# ファイルロック
#
if (!&lock_file(OUT)) {
$msg = '[lock error]';
print $msg;
exit(0);
}
#
#------------------------------------------------------------------------
# 天気情報編集
#------------------------------------------------------------------------
# 時間 温度 雨量 風速 日照時間 降雪量
#($jikan,$do,$ame,$dd1,$sun,$snow)=split(/ /,$ondo);
$jikan =~ s/\n//; # 改行 \n を削除する
$do =~ s/\n//;
$ame =~ s/\n//;
$dd1 =~ s/\n//;
$sun =~ s/\n//;
$snow =~ s/\n//;
#
$Msun=$sun;
# "---" は、html では、コメントに使えないので "===" にする。
if ($sun eq "---"){ $Msun="===" } # if B
#-----------------------------------------------------------------------------
if ($ame > 0) { # if C
# 雨量の有る時 時間に関係なく雨量表示
# 文字列結合でしないと雨量が取り込めない
$T04="雨_(".$ame."mm)";
} else { # if C else
#-----------------------------------------------------------------------------
# 雨量なしの時
$T03="";
#
# 日照時間の表示のデータが無い時(---)は、天気 表示しない。
# ( 10分更新情報 )
if ($sun ne "---"){ # if E
$T03="天気";
if ($ame == 0 && $sun >= 10) { # if F 晴 日照時間 10 分以上
$T04="晴";
} else { # if F else
if ( $sun >= 8 ) { # if G 晴曇, 曇晴, 曇
if ( $sun >= 5 ) { # if H 晴曇 日照時間 5 ~ 8 分
$T04="晴曇";
} else { # if H else 曇晴 日照時間 5 ~ 8 分
$T04="曇晴";
} # if H end
} else { # if G else 曇 日照時間 5 分以下
$T04="曇";
} # if G end
} # if F end
} else { # if E else
$T04=" ";
} # if E end
} # if C end
#
$Title = "_$jikan現在_$do度_$T02_$T03_"."$T04"."_風速_$dd1"."m";
print "$Title\n";
#print "$ondo\n";
#------------------------------------------------------------------------
# yahoo近永のアメダスデータ保存
# 202002.24 yahoo近永のアメダスデータ表示変更の為修正する
# 時 温度 降水量 風速 日照時間 降雪量
seek(OUT, 0, 0);
print OUT "$jikan\n";
print OUT "$do\n";
print OUT "$ame\n";
print OUT "$dd1\n";
print OUT "$sun\n";
print OUT "$snow\n";
print OUT "$Title\n";
&unlock_file(OUT);
close(OUT);
# 終了
exit(0);
#---------------------------------------------------------
#
# &lock_file オープンしてあるファイルのロック
#
sub lock_file {
local(*FILE) = @_;
if ($uselock) {
eval("flock(*FILE, 2)"); # 2=LOCK_EX
if ($@) {
# flockが使えない場合、ここに来る
return 0;
}
}
return 1;
}
#---------------------------------------------------------
#
# &unlock_file ファイルのアンロック
#
sub unlock_file {
local(*FILE) = @_;
if ($uselock) {
eval('flock(FILE, 8)'); # 8=LOCK_UN
}
}
#---------------------------------------------------------
tenki.jpアメダス HTML のフォームから、今の気象情報を取得するプログラム |
||
#!/usr/bin/bash
#=========================================================================
# tenki.jpのアメダス近永のHTMLソースデータを取得し、
# 10毎の観測データを抽出する。
# 取得結果は、ファイル 73446.html で格納される。
#
wget https://tenki.jp/amedas/8/41/73446.html
#
#--------------------------------------------------------------------------
#(システムの日本語文字コードUTF-8の時は、文字コード変換は不要です。)
#/usr/local/bin/nkf -e --overwrite 73446.html # UTF-8 ---> EUC コード変換
#--------------------------------------------------------------------------
# 一致した行の後の19行を取得する
#
grep -A19 -E "" 73446.html > test.txt
# grep > txt ファイルで保存しないと 改行 が無くなる為
IP1=$(grep -A7 -E "<td class=\"bold\" rowspan=\"6\">" test.txt)
#echo $IP1
IP2=$(echo $IP1 | sed -e 's/<td class=\"bold\" rowspan=\"6\">//g')
# 降水量がある時にセルの色(降水量で色が変わる)が変わる為
IP2=$(echo $IP2 | sed -e 's/<td class=\"precip-rank-color-1\">//g')
IP2=$(echo $IP2 | sed -e 's/<td class=\"precip-rank-color-2\">//g')
IP2=$(echo $IP2 | sed -e 's/<td class=\"precip-rank-color-3\">//g')
#
IP3=$(echo $IP2 | sed -e 's/<td>//g'| sed -e 's/<\/td>//g')
IP4=$(echo $IP3 | sed -e 's/<span class=\"grey\">/ /g')
IP5=$(echo $IP4 | sed -e 's/<\/span>//g')
#echo $IP5
# 0 1 2 3 4 5 6 7
# 29日 07:50 10.6 0.0 東北東 0.4 0 ---
# スペースで分割して配列へ代入
array=(${IP5// / })
#echo "時刻 ${array[1]}" # 時刻
#echo "気温(℃) ${array[2]}" # 気温(℃)
#echo "降水量(mm) ${array[3]}" # 降水量(mm)
#echo "風向(16方位) ${array[4]}" # 風向(16方位)
#echo "風速(m/s) ${array[5]}" # 風速(m/s)
#echo "日照時間(分) ${array[6]}" # 日照時間(分)
#echo "積雪深(cm) ${array[7]}" # 積雪深(cm)
#
echo "${array[1]} ${array[2]} ${array[3]} ${array[5]} ${array[6]} ${array[7]}"
#-----------------------------------------------------------------------------
# 時 温度 降水量 風速 日照時間 降雪量
# 10:00 16.9 0.0 2.9 2 ---
#-------------------------------------------
#
rm 73446.html
#
6時10分に保存する処理プログラム |
||
#!/usr/bin/bash
####-----------------------------------------------------------------------------
#### 6:00 に保存する処理
####-----------------------------------------------------------------------------
#
Kymd="DAY$(date +%Y%m%d).jpg" # date(yyyymmdd)
Kyear=$(date +%Y) # 年(yyyy)
Kmonth=$(date +%m) # 月(mm)
www="/var/www/html/www.smiyasaka.com" # Dir pass1
home="/home/miyasaka/www" # Dir pass2
INFILE60="${www}/webcam/camdata.jpg" # 1分撮影 Save Dir
#
####------------------------------------------------------------------------------
# 6:00 に保存する処理
#---------------------------------------------------------------------------------
sleep 5s; # 5 秒待って保存する
\cp ${INFILE60} ${home}/webcam0600/DAY${Kyear}${Kmonth}/${Kymd}
chown miyasaka:miyasaka ${home}/webcam0600/DAY${Kyear}${Kmonth}/${Kymd}
# SDカードにバックアップ用に保存する。
\cp ${INFILE60} /home/SD_Card/webcam0600/DAY${Kyear}${Kmonth}/${Kymd}
#---------------------------------------------------------------------------------
12時10分に保存する処理プログラム |
||
#!/usr/bin/bash
####-----------------------------------------------------------------------------
#### 12:00 に保存する処理
####-----------------------------------------------------------------------------
#
Kymd="DAY$(date +%Y%m%d).jpg" # date(yyyymmdd)
Kyear=$(date +%Y) # 年(yyyy)
Kmonth=$(date +%m) # 月(mm)
www="/var/www/html/www.smiyasaka.com" # Dir pass1
home="/home/miyasaka/www" # Dir pass2
INFILE60="${www}/webcam/camdata.jpg" # 1分撮影 Save Dir
#
####------------------------------------------------------------------------------
#----------------------- 12:00 に保存する処理 Start --------------------------
sleep 5s; # 5 秒待って保存する
\cp ${INFILE60} ${www}/webcamday/${Kymd}
chown miyasaka:miyasaka ${www}/webcamday/${Kymd}
# Save home Dir
\cp ${INFILE60} ${home}/webcamday/DAY${Kyear}${Kmonth}/${Kymd}
chown miyasaka:miyasaka ${home}/webcamday/DAY${Kyear}${Kmonth}/${Kymd}
# SDカードにバックアップ用に保存する。
\cp ${INFILE60} /home/SD_Card/webcamday/DAY${Kyear}${Kmonth}/${Kymd}
#---------------------------------------------------------------------------------
6~17時の間、10分毎保存する処理プログラム |
||
#!/usr/bin/bash
####-----------------------------------------------------------------------------
#### 10分毎に保存する処理
####-----------------------------------------------------------------------------
#
Khour=$(date +%H) # 時(00-23)
Kmm=$(date +%M) # 分(00-59)
Kmd=$(date +%m%d) # 月日(mmdd)
www="/var/www/html/www.smiyasaka.com" # Dir pass
INFILE60="${www}/webcam/camdata.jpg" # 1分撮影 Save Dir
#
#--------------------------------------------------------------------------------
# ( ( 分 + 5 ) ÷ 10 ) × 10 の整数計算をする
# 分を10分単位にする
#--------------------------------------------------------------------------------
#
KMmm=`expr \( \( ${Kmm} + 5 \) / 10 \) \* 10`
#
Khmm=${Khour}
#echo "Khmm : ${Khmm}"
if [ ${KMmm} -eq 0 ]; # 0分は、"00"にする # if B1
then
KMmm="00"
else
if [ ${KMmm} -eq 60 ]; # 60分の時 "時 + 1"にする # if B2
then
KMmm="00" # 分は、"00"にする
Khmm=`expr ${Khou}r + 1`
Kcnt=${#Khmm} # 文字数取得
if [ ${Kcnt} -eq 1 ]; # if B3
then
Khmm="0${Khmm}" # 一桁の時、"0"を追加する
fi # if B3
fi # if B2
fi # if B1
#--------------------------------------------------------------------------------
#
KKmm="${Kmd}${Khmm}${KMmm}" # 文字列 "月日"+"時"+"分"に、する
Khhmm="${www}/webcammin/MIN${KKmm}.jpg" # MINmmdd.jpg
#
#--------------------------------------------------------------------------------
# 10分毎に保存する処理
sleep 5s; # 5 秒待って保存する
cp ${INFILE60} ${Khhmm}
#--------------------------------------------------------------------------------
|