スクリプトのソースファイル一覧
meteo.sh : メインのスクリプト ダウンロード
dlchart.sh : 高層天気図 ダウンロード
dlgms.sh : ひまわり画像 ダウンロード
dlwinpro.sh : ウインドプロファイラ画像 ダウンロード
dlobserve.sh: 天気図 ダウンロード
dlamedas.sh: アメダス ダウンロード
dlradanal.sh: レーダー解析雨量 ダウンロード
dlradnowc.sh: レーダーナウキャスト ダウンロード
dlsst.sh: 海面水温のダウンロード
dlcurrent: 表層海流のダウンロード
dllongfcst.sh: 長期予報の図面のダウンロード
dlsoukei.sh: 異常天候早期警戒情報
dlmtsat.sh : 高知大のひまわり画像のダウンロード
$ meteo.sh
で昨日の1日分のデータがダウンロードされる(cronによる定期実行を念頭においている)
dlcahrt.sh day1 day2 dir
day1 : 開始日(YYYYMMDD)
day2 : 終了日(YYYYMMDD)
dir: ダウンロード先のディレクトリ(省略可能)
例:
$ dlchart.sh 20100708 20100709
注: 月をまたぐと正常に動作しない
[meteo@localhost ~]$ srcdump.sh meteo.sh dl*.sh
------------------------------
List of the following files:
------------------------------
meteo.sh
dlamedas.sh
dlchart.sh
dlcurrent.sh
dlgms.sh
dllongfcst.sh
dlobserve.sh
dlradanal.sh
dlradnowc.sh
dlsoukei.sh
dlsst.sh
dlwinpro.sh
------------------------------
Machine info
------------------------------
localhost.localdomain
/MANDA/meteo
Tue Jan 17 09:39:21 JST 2017
======================
meteo.sh
======================
#!/bin/sh
if [ $# -eq 0 ];then
today=$(date '+%Y%m%d')
yesterday=$(date '+%Y%m%d' --date "1 day ago")
else
yesterday=$1
today=$2
fi
dir="."
prog=${dir}/dllongfcst.sh
$prog $today $today
prog=${dir}/soukei.sh
$prog $today $today
prog=${dir}/dlsst.sh
$prog $yesterday $today
prog=${dir}/dlcurrent.sh
$prog $yesterday $today
prog=${dir}/dlobserve.sh
$prog $yesterday $today
prog=${dir}/dlamedas.sh
$prog $yesterday $today
prog=${dir}/dlradanal.sh
$prog $yesterday $today
# Radar nowcast at an interval of 5 minutes.
# It needs LOTS OF disk space, so I comment out.
prog=${dir}/dlradnowc.sh
$prog $yesterday $today
prog=${dir}/dlgms.sh
$prog $yesterday $today
prog=${dir}/dlwinpro.sh
$prog $yesterday $today
prog=${dir}/dlchart.sh
$prog $yesterday $today
----------------------
End of meteo.sh
----------------------
======================
dlamedas.sh
======================
#!/bin/sh
# DOWNLOAD MTSAT IMAGES
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
url[1]='http://www.jma.go.jp/jp/amedas/imgs/rain/000'
url[2]='http://www.jma.go.jp/jp/amedas/imgs/snow/000'
img[1]=rain
img[2]=snow
i=1
while [ $i -le 2 ]; do
dir[$i]="./${img[$i]}"
i=$(expr $i + 1)
done
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 directry start end"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)/amedas
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
i=1
while [ $i -le 2 ]; do
if [ ! -d ${dir[$i]} ]; then
mkdir -p ${dir[$i]}
fi
i=$(expr $i + 1)
done
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YYYY=$(printf %04d $year1)
MM=$(printf %02d $month1)
#MM=$(printf $month1)
i=1
while [ $i -le 2 ]; do
# echo $homedir
# echo ${dir[$i]}
# echo ${url[$i]}
ls
cd ${dir[$i]}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
day=$day1
sh=0
dh=1
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
hr=$sh
while [ $hr -le 23 ]; do
HH=$(printf "%02d" $hr)
# echo ${url[$i]}
${WGET} ${option} ${url[$i]}/${YYYY}${MM}${DD}${HH}00-00.png
diskuse=$(df /home | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
hr=$(expr $hr + $dh )
done #hr
day=$(expr $day + 1 )
done #day
# Create animation file
# animfile=0_${img[$i]}_${YYYY}${MM}.gif
# convert -loop 0 *png $animfile
i=$(expr $i + 1 )
cd ${homedir}
done #i
echo "Done."
exit 0
----------------------
End of dlamedas.sh
----------------------
======================
dlchart.sh
======================
#!/bin/sh
# DOWNLOAD CHART
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
url='http://www.hbc.co.jp/tecweather/archive/pdf/'
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 start end directry"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)/chart
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p chart
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YYYY=$(printf %04d $year1)
MM=$(printf %02d $month1)
#MM=$(printf $month1)
i=1
cd ${homedir}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
prefix_list="ASAS AUPA20 AUPQ35 AUPQ78 AXFE578 AUXN50 AXJP140 AWJP"
for prefix in $prefix_list; do
if [ $prefix == "ASAS" ]; then
sh=0
dh=3
elif [ $prefix == "AUPA20" ]; then
sh=9
dh=12
elif [ $prefix == "AUPQ35" ]; then
sh=9
dh=12
elif [ $prefix == "AUPQ78" ]; then
sh=9
dh=12
elif [ $prefix == "AXFE578" ]; then
sh=9
dh=12
elif [ $prefix == "AUXN50" ]; then
sh=21
dh=3
elif [ $prefix == "AXJP140" ]; then
sh=9
dh=12
elif [ $prefix == "AWJP" ]; then
sh=9
dh=22
fi
day=$day1
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
hr=$sh
while [ $hr -le 23 ]; do
HH=$(printf "%02d" $hr)
MMDDHH=${MM}${DD}${HH}
${WGET} ${option} ${url}${prefix}'_'${YYYY}${MMDDHH}.pdf
diskuse=$(df /home | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
hr=$(expr $hr + $dh )
done #hr
day=$(expr $day + 1 )
done #day
# ${homedir}/anim.sh ${YYYY}${MM} $prefix
done #prefix
echo "Done."
exit 0
----------------------
End of dlchart.sh
----------------------
======================
dlcurrent.sh
======================
#!/bin/sh
dataset=current
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
#http://www.data.jma.go.jp/gmd/kaiyou/data/db/kaikyo/ocean/forecast/image/cur050D_HQ20170110.png
url[1]='http://www.data.jma.go.jp/gmd/kaiyou/data/db/kaikyo/ocean/forecast/image'
img[1]=cur050D
i=1
while [ $i -le 2 ]; do
dir[$i]="./${img[$i]}"
i=$(expr $i + 1)
done
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 directry start end"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
i=1
while [ $i -le 1 ]; do
if [ ! -d ${dir[$i]} ]; then
mkdir -p ${dir[$i]}
fi
i=$(expr $i + 1)
done
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YYYY=$(printf %04d $year1)
MM=$(printf %02d $month1)
#MM=$(printf $month1)
i=1
while [ $i -le 1 ]; do
# echo $homedir
# echo ${dir[$i]}
# echo ${url[$i]}
ls
cd ${dir[$i]}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
day=$day1
sh=0
dh=1
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
# hr=$sh
# while [ $hr -le 23 ]; do
# HH=$(printf "%02d" $hr)
# echo ${url[$i]}
${WGET} ${option} ${url[$i]}/${img[$i]}_HQ${YYYY}${MM}${DD}.png
diskuse=$(df /home | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
# hr=$(expr $hr + $dh )
# done #hr
day=$(expr $day + 1 )
done #day
# Create animation file
# animfile=0_${img[$i]}_${YYYY}${MM}.gif
# convert -loop 0 *png $animfile
i=$(expr $i + 1 )
cd ${homedir}
done #i
echo "Done."
exit 0
----------------------
End of dlcurrent.sh
----------------------
======================
dlgms.sh
======================
#!/bin/sh
# DOWNLOAD MTSAT IMAGES
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
url[1]='http://www.jma.go.jp/jp/gms/imgs_c/6/infrared/1'
url[2]='http://www.jma.go.jp/jp/gms/imgs_c/6/watervapor/1'
url[3]='http://www.jma.go.jp/jp/gms/imgs_c/0/infrared/1/'
url[4]='http://www.jma.go.jp/jp/gms/imgs_c/0/watervapor/1'
url[5]='http://www.jma.go.jp/jp/gms/imgs_c/6/visible/1'
url[6]='http://www.jma.go.jp/jp/gms/imgs_c/0/visible/1'
region[1]=global
region[2]=global
region[3]=japan
region[4]=japan
region[5]=global
region[6]=japan
img[1]=ir
img[2]=wv
img[3]=ir
img[4]=wv
img[5]=vi
img[6]=vi
nregion=6
i=1
while [ $i -le ${nregion} ]; do
dir[$i]="./${region[$i]}/${img[$i]}"
i=$(expr $i + 1)
done
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 directry start end"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)/gms
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
i=1
while [ $i -le ${nregion} ]; do
if [ ! -d ${dir[$i]} ]; then
mkdir -p ${dir[$i]}
fi
i=$(expr $i + 1)
done
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YYYY=$(printf %04d $year1)
MM=$(printf %02d $month1)
#MM=$(printf $month1)
i=1
while [ $i -le ${nregion} ]; do
# echo $homedir
# echo ${dir[$i]}
# echo ${url[$i]}
ls
cd ${dir[$i]}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
day=$day1
sh=0
dh=1
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
hr=$sh
while [ $hr -le 23 ]; do
HH=$(printf "%02d" $hr)
# echo ${url[$i]}
${WGET} ${option} ${url[$i]}/${YYYY}${MM}${DD}${HH}00-00.png
diskuse=$(df $(pwd) | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
hr=$(expr $hr + $dh )
done #hr
day=$(expr $day + 1 )
done #day
# Create animation file
# animfile=0${region[$i]}_${img[$i]}_${YYYY}${MM}.gif
# convert -loop 0 *png $animfile
i=$(expr $i + 1 )
cd ${homedir}
done #i
echo "Done."
exit 0
----------------------
End of dlgms.sh
----------------------
======================
dllongfcst.sh
======================
#!/bin/sh
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
url[1]='http://www.data.jma.go.jp/gmd/cpd/longfcst/tenkou'
url[2]='http://www.data.jma.go.jp/gmd/cpd/longfcst/tenkou'
url[3]='http://www.jma.go.jp/jp/longfcst/imgs/1/temp' #temp-00.png'
url[4]='http://www.jma.go.jp/jp/longfcst/imgs/1/rain' #rain-00.png'
url[5]='http://www.jma.go.jp/jp/longfcst/imgs/1/sun' #sun-00.png'
url[6]='http://www.jma.go.jp/jp/longfcst/imgs/1/snow' #snow-00.png'
img[1]=regtemp
img[2]=hensa_map28
img[3]=temp-00
img[4]=rain-00
img[5]=sun-00
img[6]=snow-00
suffix[1]='gif'
suffix[2]='png'
suffix[3]='png'
suffix[4]='png'
suffix[5]='png'
suffix[6]='png'
i=1
while [ $i -le 6 ]; do
dir[$i]="./${img[$i]}"
i=$(expr $i + 1)
done
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 directry start end"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
i=1
while [ $i -le 6 ]; do
if [ ! -d ${dir[$i]} ]; then
mkdir -p ${dir[$i]}
fi
i=$(expr $i + 1)
done
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YYYY=$(printf %04d $year1)
MM=$(printf %02d $month1)
#MM=$(printf $month1)
i=1
while [ $i -le 6 ]; do
# echo $homedir
# echo ${dir[$i]}
# echo ${url[$i]}
ls
cd ${dir[$i]}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
day=$day1
sh=0
dh=1
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
# hr=$sh
# while [ $hr -le 23 ]; do
# HH=$(printf "%02d" $hr)
# echo ${url[$i]}
${WGET} ${option} ${url[$i]}/${img[$i]}.${suffix[$i]}
mv ${img[$i]}.${suffix[$i]} ${img[$i]}_${YYYY}${MM}${DD}.${suffix[$i]}
diskuse=$(df /home | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
# hr=$(expr $hr + $dh )
# done #hr
day=$(expr $day + 1 )
done #day
# Create animation file
# animfile=0_${img[$i]}_${YYYY}${MM}.gif
# convert -loop 0 *png $animfile
i=$(expr $i + 1 )
cd ${homedir}
done #i
echo "Done."
exit 0
----------------------
End of dllongfcst.sh
----------------------
======================
dlobserve.sh
======================
#!/bin/sh
# DOWNLOAD MTSAT IMAGES
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
url[1]='http://www.jma.go.jp/jp/g3/images/jp'
img[1]="observe"
i=1
while [ $i -le 1 ]; do
dir[$i]="./${img[$i]}"
i=$(expr $i + 1)
done
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 directry start end"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)/observe
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
i=1
while [ $i -le 1 ]; do
if [ ! -d ${dir[$i]} ]; then
mkdir -p ${dir[$i]}
fi
i=$(expr $i + 1)
done
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
year2=$(echo ${start} | cut -c 3-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YY=$(printf $year2)
YYYY=$(printf $year1)
MM=$(printf %02d $month1)
#MM=$(printf $month1)
i=1
while [ $i -le 2 ]; do
# echo $homedir
# echo ${dir[$i]}
# echo ${url[$i]}
ls
cd ${dir[$i]}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
day=$day1
sh=0
dh=3
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
hr=$sh
while [ $hr -le 23 ]; do
HH=$(printf "%02d" $hr)
# echo ${url[$i]}
${WGET} ${option} ${url[$i]}/${YY}${MM}${DD}${HH}.png
diskuse=$(df $(pwd) | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
hr=$(expr $hr + $dh )
done #hr
day=$(expr $day + 1 )
done #day
# Create animation file
# animfile=0_${img[$i]}_${YYYY}${MM}.gif
# convert -loop 0 *png $animfile
i=$(expr $i + 1 )
cd ${homedir}
done #i
echo "Done."
exit 0
----------------------
End of dlobserve.sh
----------------------
======================
dlradanal.sh
======================
#!/bin/sh
# DOWNLOAD radar amedas
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
url[1]='http://www.jma.go.jp/jp/radame/imgs/prec/000'
img[1]=radanal
i=1
while [ $i -le 1 ]; do
dir[$i]="./${img[$i]}"
i=$(expr $i + 1)
done
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 directry start end"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)/radar
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
i=1
while [ $i -le 1 ]; do
if [ ! -d ${dir[$i]} ]; then
mkdir -p ${dir[$i]}
fi
i=$(expr $i + 1)
done
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YYYY=$(printf %04d $year1)
MM=$(printf %02d $month1)
#MM=$(printf $month1)
i=1
while [ $i -le 1 ]; do
# echo $homedir
# echo ${dir[$i]}
# echo ${url[$i]}
ls
cd ${dir[$i]}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
day=$day1
sh=0
dh=1
smi=0
dmi=30
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
hr=$sh
while [ $hr -le 23 ]; do
HH=$(printf "%02d" $hr)
mi=$smi
while [ $mi -le 55 ]; do
MI=$(printf "%02d" $mi)
${WGET} ${option} ${url[$i]}/${YYYY}${MM}${DD}${HH}${MI}-00.png
#echo ${YYYY}${MM}${DD}${HH}${MI}-00
diskuse=$(df /home | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
mi=$(expr $mi + $dmi )
done #minute
hr=$(expr $hr + $dh )
done #hr
day=$(expr $day + 1 )
done #day
# Create animation file
# animfile=0_${img[$i]}_${YYYY}${MM}.gif
# convert -loop 0 *png $animfile
i=$(expr $i + 1 )
cd ${homedir}
done #i
echo "Done."
exit 0
----------------------
End of dlradanal.sh
----------------------
======================
dlradnowc.sh
======================
#!/bin/sh
# DOWNLOAD MTSAT IMAGES
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
url[1]='http://www.jma.go.jp/jp/radnowc/imgs/radar/000'
img[1]=radnowc
i=1
while [ $i -le 1 ]; do
dir[$i]="./${img[$i]}"
i=$(expr $i + 1)
done
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 directry start end"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)/radar
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
i=1
while [ $i -le 1 ]; do
if [ ! -d ${dir[$i]} ]; then
mkdir -p ${dir[$i]}
fi
i=$(expr $i + 1)
done
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YYYY=$(printf %04d $year1)
MM=$(printf %02d $month1)
#MM=$(printf $month1)
i=1
while [ $i -le 1 ]; do
# echo $homedir
# echo ${dir[$i]}
# echo ${url[$i]}
ls
cd ${dir[$i]}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
day=$day1
sh=0
dh=1
smi=0
dmi=5
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
hr=$sh
while [ $hr -le 23 ]; do
HH=$(printf "%02d" $hr)
mi=$smi
while [ $mi -le 55 ]; do
MI=$(printf "%02d" $mi)
${WGET} ${option} ${url[$i]}/${YYYY}${MM}${DD}${HH}${MI}-00.png
diskuse=$(df /home | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
mi=$(expr $mi + $dmi )
done #minute
hr=$(expr $hr + $dh )
done #hr
day=$(expr $day + 1 )
done #day
# Create animation file
animfile=0_${img[$i]}_${YYYY}${MM}.gif
convert -loop 0 *png $animfile
i=$(expr $i + 1 )
cd ${homedir}
done #i
echo "Done."
exit 0
----------------------
End of dlradnowc.sh
----------------------
======================
dlsoukei.sh
======================
#!/bin/sh
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
url[1]='http://www.jma.go.jp/jp/'
img[1]=soukei
suffix[1]='png'
i=1
while [ $i -le 1 ]; do
dir[$i]="./${img[$i]}"
i=$(expr $i + 1)
done
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 directry start end"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
i=1
while [ $i -le 6 ]; do
if [ ! -d ${dir[$i]} ]; then
mkdir -p ${dir[$i]}
fi
i=$(expr $i + 1)
done
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YYYY=$(printf %04d $year1)
MM=$(printf %02d $month1)
#MM=$(printf $month1)
i=1
while [ $i -le 1 ]; do
# echo $homedir
# echo ${dir[$i]}
# echo ${url[$i]}
ls
cd ${dir[$i]}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
day=$day1
sh=0
dh=1
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
# hr=$sh
# while [ $hr -le 23 ]; do
# HH=$(printf "%02d" $hr)
# echo ${url[$i]}
${WGET} ${option} ${url[$i]}/${img[$i]}/imgs/000.${suffix[$i]}
mv 000.${suffix[$i]} ${img[$i]}_${YYYY}${MM}${DD}.${suffix[$i]}
diskuse=$(df /home | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
# hr=$(expr $hr + $dh )
# done #hr
day=$(expr $day + 1 )
done #day
# Create animation file
# animfile=0_${img[$i]}_${YYYY}${MM}.gif
# convert -loop 0 *png $animfile
i=$(expr $i + 1 )
cd ${homedir}
done #i
echo "Done."
exit 0
----------------------
End of dlsoukei.sh
----------------------
======================
dlsst.sh
======================
#!/bin/sh
dataset=sst
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
#http://www.data.jma.go.jp/kaiyou/data/db/kaikyo/daily/image/HQ/2016/sstD_anom_HQ20161229.png
#http://www.data.jma.go.jp/kaiyou/data/db/kaikyo/daily/image/HQ/2016/sstD_HQ20161229.png
url[1]='http://www.data.jma.go.jp/kaiyou/data/db/kaikyo/daily/image/HQ'
url[2]='http://www.data.jma.go.jp/kaiyou/data/db/kaikyo/daily/image/HQ'
img[1]=sstD
img[2]=sstD_anom
i=1
while [ $i -le 2 ]; do
dir[$i]="./${img[$i]}"
i=$(expr $i + 1)
done
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 directry start end"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
i=1
while [ $i -le 2 ]; do
if [ ! -d ${dir[$i]} ]; then
mkdir -p ${dir[$i]}
fi
i=$(expr $i + 1)
done
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YYYY=$(printf %04d $year1)
#MM=$(printf %02d $month1)
MM=$(printf $month1)
i=1
while [ $i -le 2 ]; do
# echo $homedir
# echo ${dir[$i]}
# echo ${url[$i]}
ls
cd ${dir[$i]}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
day=$day1
sh=0
dh=1
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
# hr=$sh
# while [ $hr -le 23 ]; do
# HH=$(printf "%02d" $hr)
# echo ${url[$i]}
${WGET} ${option} ${url[$i]}/${YYYY}/${img[$i]}_HQ${YYYY}${MM}${DD}.png
diskuse=$(df /home | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
# hr=$(expr $hr + $dh )
# done #hr
day=$(expr $day + 1 )
done #day
# Create animation file
# animfile=0_${img[$i]}_${YYYY}${MM}.gif
# convert -loop 0 *png $animfile
i=$(expr $i + 1 )
cd ${homedir}
done #i
echo "Done."
exit 0
----------------------
End of dlsst.sh
----------------------
======================
dlwinpro.sh
======================
#!/bin/sh
# DOWNLOAD Wind profiler IMAGES
option="-N -r -np -w 3 -nd --level=0"
# ディレクトリ構造を残すかどうかをしているする。
# offにすると、current directoryに全部ダウンロードされる。
# -nd [--no-directories]ディレクトリ構造を残さない
# -x [--force-directories]ディレクトリ構造を残す。
#dirstruct = off
url[1]='http://www.jma.go.jp/jp/windpro/imgs/000/'
url[2]='http://www.jma.go.jp/jp/windpro/imgs/47663/' #Owase
url[3]='http://www.jma.go.jp/jp/windpro/imgs/47795/' #Mihama
url[4]='http://www.jma.go.jp/jp/windpro/imgs/47363/' #Nagoya
url[5]='http://www.jma.go.jp/jp/windpro/imgs/47616/' #Fukui
url[6]='http://www.jma.go.jp/jp/windpro/imgs/47746/' #Tottori
region[1]=hmap
region[2]=Owase
region[3]=Mihama
region[4]=Nagoya
region[5]=Fukui
region[6]=Tottori
i=1
while [ $i -le 6 ]; do
dir[$i]="./${region[$i]}"
i=$(expr $i + 1)
done
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 directry start end"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
if [ $# -le 2 ]; then
homedir=$(pwd)/winpro
else
homedir=$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd ${homedir}
i=1
while [ $i -le 6 ]; do
if [ ! -d ${dir[$i]} ]; then
mkdir -p ${dir[$i]}
fi
i=$(expr $i + 1)
done
WGET=$(which wget)
which wget > /dev/null
if [ $? != 0 ]; then
echo Error : wget is not available.
exit 1
fi
year1=$(echo ${start} | cut -c 1-4)
month1=$(echo ${start} | cut -c 5-6)
day1=$(echo ${start} | cut -c 7-8)
month2=$(echo ${end} | cut -c 5-6)
day2=$(echo ${end} | cut -c 7-8)
YYYY=$(printf %04d $year1)
MM=$(printf %02d $month1)
#MM=$(printf $month1)
i=1
while [ $i -le 6 ]; do
# echo $homedir
# echo ${dir[$i]}
# echo ${url[$i]}
ls
cd ${dir[$i]}
if [ ! -d ${YYYY}${MM} ]; then
mkdir -p ${YYYY}${MM}
fi
cd ${YYYY}${MM}
day=$day1
sh=0
dh=1
while [ ${day} -le ${day2} ]; do
DD=$(printf %02d $day)
# DD=$(printf $day)
hr=$sh
while [ $hr -le 23 ]; do
HH=$(printf "%02d" $hr)
# echo ${url[$i]}
${WGET} ${option} ${url[$i]}/${YYYY}${MM}${DD}${HH}00-00.png
diskuse=$(df /home | tail -1 | sed "s/^.* \([0-9]*\)%.*$/\1/")
if [ $diskuse -ge 80 ]; then
echo "ERROR in $0 : Disk Usage >= 80%"
exit 1
fi
hr=$(expr $hr + $dh )
done #hr
day=$(expr $day + 1 )
done #day
# Create animation file
# animfile=0${region[$i]}_${YYYY}${MM}.gif
# convert -loop 0 -delay 20 *png $animfile
i=$(expr $i + 1 )
cd ${homedir}
done #i
echo "Done."
exit 0
----------------------
End of dlwinpro.sh
----------------------
[2017年 2月 8日 水曜日 15:55:08 JST]
[am@aofd165]
$ srcdump.sh dlmtsat.sh
======================
dlmtsat.sh
======================
#!/bin/bash
if [ $# -lt 2 ];then
echo "Error : Wrong number of arguments."
echo "Usage: $0 start end directory"
echo "start : start day (YYYYMMDD)"
echo "end : end day (YYYYMMDD)"
echo "directry"
exit 1
fi
start=$1
end=$2
url="http://weather.is.kochi-u.ac.jp/sat/fe-sird"
homedir=$(pwd)
if [ $# -le 2 ]; then
dir=$homedir
else
dir=$homedir/$3
fi
if [ ! -d ${homedir} ]; then
mkdir -p $homedir
# echo Error in $0 : No such directry, ${homedir}
# exit 1
fi
cd $dir
starts=$(date -d "${start}" '+%s')
ends=$(date -d "${end}" '+%s')
times=$(expr $ends - $starts)
days=$(expr $times / 86400 )
sdate=${start:0:4}/${start:4:2}/${start:6:2}
#echo $sdate
yesterday=$(date -d"$sdate"-1days '+%Y/%m/%d')
#echo $yesterday
n=0
while [ $n -le $days ]; do
today=$(date -d"$yesterday"+1days '+%Y/%m/%d')
yyyy=${today:0:4}
mm=${today:5:2}
dd=${today:8:2}
yy=${today:2:2}
remodir=${yyyy}/${mm}/${dd}
h=0
while [ $h -le 23 ]; do
hh=$(printf %02d $h)
fname=sd.${yy}${mm}${dd}${hh}.jpg
#echo $fname
h=$(expr $h + 1)
dlfile=${url}/${remodir}/${fname}
wget $dlfile
done
#echo $yyyy $mm $dd
n=$(expr $n + 1)
yesterday=$today
done
cd $homedir
exit 0
----------------------
End of dlmtsat.sh
----------------------
# crontab -e -u aym
MAILTO=""
HOME=/home/aym/meteo
30 06 ** ** ** ./meteo.sh
午前6時30分に実行
メールは送信しない
crontabの書き方
http://www.server-memo.net/tips/crontab.html
cron の設定ガイド
http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
crontabコマンドを実行して、ユーザごとの cron を仕込みます。
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
59 4 * * * root run-parts /etc/cron.daily
5 4 * * 0 root run-parts /etc/cron.weekly
9 4 1 * * root run-parts /etc/cron.monthly
SHELL=/bin/bash
cronが使用するシェルを指定します。
PATH=/sbin:/bin:/usr/sbin:/usr/bin
cronが使用するPATHを指定します。
MAILTO=""
ここで指定したユーザにcronの実行結果をメールします。MAILTO="" とすると、メールしません。MAILTO行自体がなければ、crontabファイルの所有者にメールを送ります(デフォルトはroot)。
HOME=/
cronを使用する際のホームディレクトリを指定します。
# run-parts 行より下が、実際の命令を記述している行になります。
書式は
分 時 日 月 曜日 実行ユーザ run-parts command
それぞれ半角スペースで区切ります。
全ての該当させる場合は * (アスタリスク)を指定します。
01 * * * * root run-parts /etc/cron.hourly
は、全ての曜日、全ての月、全ての日、全ての時刻の 1分に root 権限で /etc/cron.hourly を実行するということです。
この場合、/etc/cron.hourlyはディレクトリで、run-parts というオプションでディレクトリ内のシェルを全て実行するという意味です。
crontabファイルに設定を追加することで、定期的にコマンドの実行やプログラムの起動を行うことが可能です。
ただし、その場合は root で実行することになります。
crontabがどうしても動かないときに確認すべき3つの点+α
http://d.hatena.ne.jp/natsumesouxx/20100313/1268479064