シェルスクリプトでUnixタイムを求めるには
私が前月分のログ集計のために1日から末日までのログをDBを取得するのに
時間がUNIXタイムになっているため、シェルスクリプトを作成しました。
■やりたいこと
前月分の1日から末日までのUNIXタイムを求める
#先月の日付を取得
this_month=`date +'%Y-%m-01'` # 例)2020-01-01
last_month=`date -d "${this_month} 1 month ago" +'%Y-%m'` # 例)2019-12
#年、月の分解
year=`echo $last_month | awk -F- '{print $1}'`
month=`echo $last_month | awk -F- '{print $2}'`
echo $year
echo $month
#UNIXタイム返還
unix_time_start=`date -d "$year/$month/1 00:00:00" +'%s'`
unix_time_end=`date -d "$year/$month/$day 23:59:59" +'%s'`
上記で取得したものをSQLへ
SELECT value FROM history_uint where clock between 1577804400 and 1580482799;
※こちらはZabbix(監視ソフト)のDBアイテムからclock(UNIXタイム)の範囲で値を取得した例