您的位置:首页 > 运维架构 > Linux

Linux远程执行hostname命令,监控服务器是否被篡改

2017-05-12 13:31 507 查看
nagios通过远程执行hostname命令,就可以判断服务器是否最近被重新非法安装。

在编写过程遇到一个小麻烦,输入的比较的hostname和其输出的hostname,输出结果一致,但是脚本输出就判断不同。后来加入测试字符串长度代码,知道是命令输出的结果,有空格。所以要加入处理,去掉多余空格,再比较关键字。这点需要大家注意。

代码如下:

#!/bin/bash
2
3 #ssh_remoteHostname
4 #History:
5 # by xzy 2017/04/18
6
7 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
8 export PATH
9 OK=0
10 WARNING=1
11 CRITICAL=2
12 UNKNOWN=3
13
14
15 usage()
16 {
17 printf "function:\n
18 CH_ComputerRoomEnviroment file\n
19 [host IP ] -H [Usename] -U ... \n
20 Usage Option:\n
21 -H: host's web IP\n
22 -U: Username\n
23 -P: Password\n
24 -C: Command\n
25 -k: keyword\n"
26 exit $UNKNOWN
27 }
48 while getopts :H:U:P:C:k:h Parm
49 do
50 case $Parm in
51 H)IP=$OPTARG
52 ;;
53 U)UserName=$OPTARG
54 ;;
55 P)PassWord=$OPTARG
56 ;;
57 C)WarnValue=$OPTARG
58 ;;
59 k)CriticalValue=$OPTARG
60 ;;
61 h | ?)
62 usage
63 ;;
64 esac
65 done
66
67
68
69
70
hostname=`/usr/lib/nagios/plugins/ssh2.exp $IP $UserName $PassWord $WarnValue | grep "$CriticalValue" `
79
80 hostname1=`echo $hostname | sed s/[[:space:]]//g`
81
82 #echo $hostname1
83 #echo $CriticalValue
84 #echo ${#CriticalValue}
85 #echo ${#hostname1}
86
87 #if [ "$hostname" != "$CriticalValue" ];then
88 # echo 'Critical!Hostname is not normal!Hostname:'$hostname
89 # exit $CRITICAL
90 #fi
91
92
93
94
95 if [ "$hostname1" = "$CriticalValue" ]; then
96
97 echo 'OK!Hostname is normal!Hostname:'$hostname
98 exit $OK
99 else
100 echo 'Critical!Hostname is not normal!Hostname:'$hostname
101 exit $CRITICAL
102
103 fi

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: