Chinaunix首页 | 论坛 | 博客
  • 博客访问: 834376
  • 博文数量: 167
  • 博客积分: 7173
  • 博客等级: 少将
  • 技术积分: 1671
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-04 23:07
文章分类

全部博文(167)

文章存档

2018年(1)

2017年(11)

2012年(2)

2011年(27)

2010年(88)

2009年(38)

分类:

2010-06-21 18:36:21


看了很多例子都是/usr/bin/epxect 和 /bin/bash分开使用
经过测试是可以合在一起进行编程。

#!/bin/bash
PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:"
LANG=zh_CN
export PATH LANG


USERNAME="s"


############
# 主机信息 #
############
INTF=$(netstat -rn | tail -1 | awk '{print $NF}')
IP=$(ifconfig $INTF | awk '/inet addr/{ split($2,tmp,":") ; print tmp[2] }')
HOST_NAME=$(hostname --short)
###########
##########
#邮件环境#
##########
#CHARTSET=""
MAIL_CLIENT=""
MAIL_SENDER=""
MAIL_SERVER=""
case $IP in
        192.168.230.*|192.168.1[0-1].*|192.168.238.*|209.*)
        MAIL_SERVER=""
        ;;
        *)
        MAIL_SERVER=""
        ;;
esac
##########

tap=`expect -c "
        set timeout 200;
        spawn /usr/bin/ssh   "$USERNAME"@"$IP" 'pwd'
        expect {
                \"*yes/no*\" {send \"yes\r\"; exp_continue}
                \"*password*\" {send \"xxx\r\";}
        }
expect eof;"`

if echo $tap | grep -q "/home/support"
then
    echo "machinealine_=0"
else
    echo "machinealine_=1"
    echo "机器假死了,SSH连接不上去了" > /tmp/.deadalive
      #########发送邮件############
         env MAILRC=/dev/null charset="$CHARTSET" from="$MAIL_SENDER" smtp="$MAIL_SERVER" \
         nail -n -s "$HOST_NAME ($IP)假死检测" $MAIL_CLIENT < /tmp/.deadalive
fi
阅读(4169) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chuzha962013-09-10 13:57:36

写的好!