zoukankan      html  css  js  c++  java
  • 利用expect远程控制相关脚本

    exe_start_agent.sh

    #!/bin/sh

    FILENAME="ip.file"
    cat $FILENAME|while read line
    do
    eval `echo $line|awk '{print "IP="$1}'`
    eval `echo $line|awk '{print "USER="$2}'`
    eval `echo $line|awk '{print "PATHWORD="$3}'`
    echo "$IP $USER $PATHWORD"

    ./start_agent.exp $IP $USER $PATHWORD
    echo "start succuss"
    done

    exe_stop_agent.sh

    #!/bin/sh

    FILENAME="ip.file"
    cat $FILENAME|while read line
    do
    echo $line
    eval `echo $line|awk '{print "IP="$1}'`
    eval `echo $line|awk '{print "USER="$2}'`
    eval `echo $line|awk '{print "PATHWORD="$3}'`
    echo "$IP $USER $PATHWORD"

    ./scp.exp $IP $USER $PATHWORD
    echo "scp success"
    sleep 1
    ./ssh.exp $IP $USER $PATHWORD
    echo "ssh success"
    done 

    ip.file

    127.0.0.1 user password

    scp.exp

    #!/usr/bin/expect -f

    set timeout 300
    set ip [lindex $argv 0]
    set user [lindex $argv 1]
    set password [lindex $argv 2]

    spawn scp stop_agent.sh ${user}@${ip}:stop_agent.sh

    expect {
    "*yes/no*" { send "yes "; exp_continue}
    "*password:" { send "$password " }
    }
    expect "*password:"

    send "$password "

    send "exit "

    expect eof

    ssh.exp

    #!/usr/bin/expect -f

    set timeout 30
    set ip [lindex $argv 0]
    set user [lindex $argv 1]
    set password [lindex $argv 2]


    spawn ssh ${user}@${ip}
    expect {
    "yes/no" { send "yes "; exp_continue}
    "*password:" { send "$password " }
    }

    expect {
    "*$*" {
    send "sh stop_agent.sh "
    expect "*$*"
    send "rm stop_agent.sh "
    expect "*$*"
    send "exit "
    }
    "*>*" {
    send "sh stop_agent.sh "
    expect "*>*"
    send "rm stop_agent.sh "
    expect "*>*"
    send "exit "
    }
    }

    expect eof

    start_agent.exp

    #!/usr/bin/expect -f

    set timeout 30
    set ip [lindex $argv 0]
    set user [lindex $argv 1]
    set password [lindex $argv 2]


    spawn ssh ${user}@${ip}
    expect {
    "yes/no" { send "yes "; exp_continue}
    "*password:" { send "$password " }
    }

    expect {
    "*$*" {
    send "sh ~/agent/bin/agent_monitor.sh ~/agent/bin "
    expect "*$*"
    send "exit "
    }
    "*>*" {
    send "sh ~/agent/bin/agent_monitor.sh ~/agent/bin "
    expect "*>*"
    send "exit "
    }
    }

    expect eof

    stop_bocs.sh

    #!/bin/sh

    cd agent/bin
    echo "begin"
    crontab_bocs=`crontab -l |grep -w "agent" |grep -w "agent_monitor.sh"|grep -v grep |wc -l`
    if [ "${crontab_bocs}" != "0" ]
    then
    crontab -l > crontab_bocs.list
    sed '/agent/bin/agent_monitor.sh/'d crontab_bocs.list >list.list
    crontab list.list
    rm crontab_bocs.list
    rm list.list
    fi
    sh stop.sh
    rm ../output/*
    echo "end"

  • 相关阅读:
    用ElasticSearch和Protovis实现数据可视化
    分布式搜索elasticsearch配置文件详解
    PHP ElasticSearch的使用
    在Windows .NET平台下使用Memcached
    升級 Centos 6.5 的 php 版本
    elasticsearch-查询基础篇
    Elasticsearch 权威指南
    [转] Mongoose初使用总结
    [转] 深入浅出mongoose-----包括mongoose基本所有操作,非常实用!!!!!
    [转] mongodb下载、安装、配置与使用
  • 原文地址:https://www.cnblogs.com/wcc331902579/p/5923058.html
Copyright © 2011-2022 走看看