zoukankan      html  css  js  c++  java
  • shell远程取数据的脚本.

    远程自动脚本两个脚本执行自动化,首先定义一个文件用来存放你要访问的服务器的地址端口用户名密码 本机地址
    格式如下:

    ip port username password localhostIP

    保存为server.conf

    shell配合expect, shell用作循环,expect用作交互。

    1.用shell写一个while循环。

    #!/bin/bash
    #by osx1260@163.com
    filename="server.conf"
    while read line
        do
          ./expect.exp
    done < $filename         

    2.写一个expect.exp

    #!/usr/bin/expect -f
    set ipaddress [lindex $argv 0]
    set port [lindex $argv 1]
    set username [lindex $argv 2]
    set passwd [lindex $argv 3]
    set localIP [lindex $argv 4]
    set timeout 20
    spawn ssh $ipaddress -p$port -l$username
            expect {
    "yes/no" { send "yes\r";exp_continue }
    "assword:" { send "$passwd\r" }
            }
            expect -re "\](\$|#) "
    send "xm list &>/root/check-network.log \r"
            expect -re "\](\$|#) "
    send "sar -n DEV 3 5 | grep vif* | awk '{print \$2,\$5,\$6}' & >> /root/check-network.log \r"
    #       expect -re "\](\$|#) "
    #send "sort -t\" \" -k 2n -u /root/test.log @>>/root/check-network.log \r"
            expect -re "\](\$|#) "
    send "scp -r /root/check-network.log $username@$localIP:/var/log/check-network.log \r"
            expect {
    "assword:" { send "$passwd\r" }
                    }
    
            expect -re "\](\$|#) "
    send "rm -fr /root/test.log \r"
    send "rm -fr /root/check-network.log \r"
    send "exit\r"

    有时间了写具体的过程注释~~这里留做自己的笔记

  • 相关阅读:
    MySql的约束
    这个充满恶意的世界啊,一不小心就掉里
    hack
    jQuery.rotate.js参数
    代码在ie9中不能正确执行
    ie6,ie7,ie8 css bug兼容解决方法
    常用CSS缩写语法总结
    前端CSS规范整理_转载、、、
    JS定义数组,初始化
    php js数组问题
  • 原文地址:https://www.cnblogs.com/osxlinux/p/3071325.html
Copyright © 2011-2022 走看看