查询时间是否同步linux,监控linux各主机系统时间是否一致

#!/bin/bash

STATE_OK=0

STATE_WARNING=1

STATE_CRITICAL=2

STATE_UNKNOWN=3

PASSWD=‘**************‘

print_help() {

echo "Usage:"

echo "  -H)"

echo "    主机地址"

echo "[-w] Warning"

echo "[-c] Critical"

exit  $STATE_OK

}

while test -n "$1"; do

case "$1" in

--help|-h)

print_help

exit  $STATE_OK

;;

--url|-H)

HOSTADDRESS=$2

shift

;;

-w)

warn_level=$2

shift

;;

-c)

critical_level=$2

shift

;;

*)

echo "Unknown Argument: $1"

print_help

exit  $STATE_UNKNOWN

;;

esac

shift

done

if [ "$warn_level" == "" ]; then

echo "No Warning Level Specified"

print_help

exit  $STATE_UNKNOWN;

fi

if [ "$critical_level" == "" ]; then

echo "No Critical Level Specified"

print_help

exit  $STATE_UNKNOWN;

fi

if [ "$HOSTADDRESS" == "" ]; then

echo "No HOSTADDRESS Specified"

print_help

exit  $STATE_UNKNOWN;

fi

echo "" > /usr/local/nagios/libexec/check_time_data/host_time_$HOSTADDRESS

/usr/local/bin/expect <

log_file /usr/local/nagios/libexec/check_time_data/host_time_$HOSTADDRESS

log_user 1

spawn  ssh -t -p 22 supope@$HOSTADDRESS "date +%s"

expect {

"(yes/no)?"

{

send "yes\r"

expect  "*assword" { send "$PASSWD\r"}

}

"*assword"  {

send "$PASSWD\r"

}

}

expect "100%"

EOF

###处理数据格式

sed -i ‘s/\r//g‘ /usr/local/nagios/libexec/check_time_data/host_time_$HOSTADDRESS

###处理时间

host_time=`cat /usr/local/nagios/libexec/check_time_data/host_time_$HOSTADDRESS|grep -E ‘^[0-9]‘`

cur_time=`date +%s`

value=`expr $cur_time - $host_time`

if [ $value -lt 0 ]; then

let value=0-$value;

fi

if [[ "$value" -le "$warn_level" ]]; then

echo "$HOSTADDRESS time is OK. $HOSTADDRESS_time-cur_time:$value|value=$value;$warn_level;$critical_level;0"

exit  $STATE_OK;

elif [[ "$value" -gt "$warn_level" ]] && [[ "$value" -lt "$critical_level" ]]; then

echo "$HOSTADDRESS time is WARNING. $HOSTADDRESS_time-cur_time:$value|value=$value;$warn_level;$critical_level;0"

exit  $STATE_WARNING;

elif [[ "$value" -ge "$critical_level" ]]; then

echo "$HOSTADDRESS time is CRITICAL. $HOSTADDRESS_time-cur_time:$value|value=$value;$warn_level;$critical_level;0"

exit  $STATE_CRITICAL;

fi

原文:http://www.cnblogs.com/flyback/p/7145345.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值