shellはmysqlクエリの結果を取得し、現在との差を計算します.


#!/bin/bash#は一度にサービスを離れ、データベースの最新データ時間を監視し、リアルタイムデータの遅延が30分を超える#現在の時間とmysqlデータベースの値取り時間の直接的な差を計算する
dbu=opuserdbp=elane2016dbs=/data3306/mysql.sockdb=shipdata#echo $dbu#echo $dbp#echo $dbs#echo $db
#shellでsql文を実行して時間を取得し、awkで結果の2行目を指定し、dateで時間を数値に変換し、%sを秒単位dbt=mysql -u$dbu -p$dbp -S $dbs -D $db -e "SELECT max(update_time) FROM dynamic" | awk NR==2 dbtt=date -d "$dbt" +%s echo$dbtecho$dbttに変換
#現在の時刻を取得し、秒単位の数値cur_に変換d= date +"%Y-%m-%d %H:%M:%S" cur_dd= date -d "$cur_d" +%s echo $cur_decho $cur_dd
#現在時刻からデータベース取得時刻を減算した結果、秒単位int=expr $cur_dd - $dbtt echo$int
#計算結果を判断し、-geがif["$int"-ge"300"]以上である.thenecho 1elseecho 0fi