#!/bin/bash
#一次到离服务,数据库最新数据时间监控,实时数据延迟超过30分钟
#计算当前时间和mysql数据库取值时间直接的差

dbu=opuser
dbp=elane2016
dbs=/data3306/mysql.sock
db=shipdata
#echo $dbu
#echo $dbp
#echo $dbs
#echo $db

#通过shell执行sql语句获取一个时间,使用awk指定结果的第二行,使用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 $dbt
echo $dbtt

#获取当前时间,并转换成秒为单位的数字
cur_d=date +"%Y-%m-%d %H:%M:%S"
cur_dd=date -d "$cur_d" +%s
echo $cur_d
echo $cur_dd

#当前时间减去数据库获取的时间 结果是秒为单位
int=expr $cur_dd - $dbtt
echo $int

#将计算结果进行判断,-ge 大于等于
if [ "$int" -ge "300" ];then
echo 1
else
echo 0
fi