Chinaunix首页 | 论坛 | 博客
  • 博客访问: 484082
  • 博文数量: 67
  • 博客积分: 2952
  • 博客等级: 少校
  • 技术积分: 679
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-24 10:50
文章分类

全部博文(67)

文章存档

2011年(9)

2010年(36)

2009年(8)

2008年(5)

2007年(5)

2006年(4)

我的朋友

分类:

2008-04-17 16:58:55

公司实验室有很多机器,公司所在的科技城老是停电,没有办法我们就老是要全部关机。
下面是我写的一个自动关机系统。
用法:shutdown.sh 59.151.13.0/24 333 root pass shutdown -h now

[jamesg@localhost shutdown]$ ll
总计 8
-rw-rw-r-- 1 jamesg jamesg 431 01-21 16:05 shutdown.exp
-rwxrwxr-x 1 jamesg jamesg 707 01-22 13:54 shutdown.sh
[jamesg@localhost shutdown]$ cat shutdown.exp
if {$argc<4} {

        puts stderr "Usage: $argv0 server port login passwaord.\n "
        exit 1
}

set SERVER      [lindex $argv 0]
set PORT        [lindex $argv 1]
set LOGIN       [lindex $argv 2]
set PASS        [lindex $argv 3]
set COMMAND     [lindex $argv 4]
set flag 1

spawn ssh -p $PORT $SERVER -l $LOGIN $COMMAND
while {$flag > 0} {
        expect {
                "\(yes\/no\)\?" { send "yes\n" }
                "assword:" {  send "$PASS\n" }
                eof     { set flag 0 }
        }
}
[jamesg@localhost shutdown]$ cat shutdown.sh
#!/bin/bash

if [ $# -lt 5 ];then
        echo "Usage: $0 subnet PORT username password command"
        echo " e.g.: $0 59.151.13.0/24 333 root pass shutdown -h now"
        exit 1
fi

for j in 1 2 3 4 5
do
case $j in
        1)      SUBNET=$1
                ;;
        2)      PORT=$1
                ;;
        3)      USER=$1
                ;;
        4)      PASSWORD=$1
                ;;
        5)      COMMAND=$@
                ;;
esac
shift
done

nmap -n -sT $SUBNET -p $PORT >temp.nmap.log
if [ $? -eq 0 ];then
        cat temp.nmap.log |grep Interesting|nl >temp.nmap.log1
        cat temp.nmap.log |grep ${PORT}/tcp|nl >temp.nmap.log2
        join temp.nmap.log1 temp.nmap.log2 |awk '{print $5$7}'|grep open|awk -F : '{print $1}' >temp.hostlist
        for i in `cat temp.hostlist`
        do
                expect shutdown.exp $i ${PORT} ${USER} $PASSWORD "$COMMAND"
        done
fi
rm -f temp.*
[jamesg@localhost shutdown]$
阅读(1069) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~