最新主机优惠信息推荐
这里总有一款属于你的VPS

shell脚本自动执行telnet命令并返回结果

腾讯云双11活动

某些时候需要定时获取下设备的指定信息,一个个telnet这个时候就显的不够用了,可以用脚本方式去批量执行

只要知道如何在shell脚本中自动执行你的命令,就可以实现了批量化


 

举例:登录路由器查看某个网口的流量情况

#脚本内容[间隔时间自已看情况调整]:
#!/bin/bash
(sleep 1;echo "test";sleep 1;echo "passwd";sleep 1;echo "dis int g0/0/0";sleep 1;echo " ";sleep 1;echo "quit")|telnet 192.168.1.1
#执行过程/结果[登录和命令都是自动输入]:
[[email protected] ~]# sh telnet.sh 
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
Login authentication
Username:test
Password:
  -----------------------------------------------------------------------------
  User last login information:
  -----------------------------------------------------------------------------
  Access Type: Telnet
  IP-Address : 192.168.1.10
  Time       : 2018-08-08 16:03:55+08:00
  -----------------------------------------------------------------------------
<Huawei>dis int g0/0/0
GigabitEthernet0/0/0 current state : UP
Line protocol current state : DOWN
Description:HUAWEI, AR Series, GigabitEthernet0/0/0 Interface
Route Port,The Maximum Transmit Unit is 1500
Internet protocol processing : disabled
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 68cc-6e8a-9939
Last physical up time   : 2018-07-10 11:18:53 UTC+08:00
Last physical down time : 2018-07-10 11:04:15 UTC+08:00
Current system time: 2018-08-08 16:11:15+08:00
Port Mode: FORCE COPPER
Speed : 1000,  Loopback: NONE
Duplex: FULL,  Negotiation: ENABLE
Mdi   : AUTO,  Clock   : -
Last 300 seconds input rate 7159936 bits/sec, 943 packets/sec
Last 300 seconds output rate 2765752 bits/sec, 689 packets/sec
Input peak rate 208110760 bits/sec,Record time: 2018-07-24 12:18:16
Output peak rate 175132424 bits/sec,Record time: 2018-08-06 11:45:05
Input:  1694029507 packets, 1392763516032 bytes
  Unicast:         1688764340,  Multicast:               20219
  Broadcast:          5244948,  Jumbo:                       0
  Discard:                  0,  Total Error:                 0
  CRC:                      0,  Giants:                      0
  Jabbers:                  0,  Throttles:                   0
  Runts:                    0,  Symbols:                     0
  Ignoreds:                 0,  Frames:                      0
Output:  1566820622 packets, 1170387114814 bytes
  Unicast:         1566820620,  Multicast:                   0
  Broadcast:                2,  Jumbo:                   27249
  Discard:                  0,  Total Error:                 0
  Collisions:               0,  ExcessiveCollisions:         0
  Late Collisions:          0,  Deferreds:                   0
    Input bandwidth utilization threshold : 100.00%
    Output bandwidth utilization threshold: 100.00%
    Input bandwidth utilization  : 0.48%
    Output bandwidth utilization : 0.28%
<Huawei>
<Huawei>Connection closed by foreign host.

&nbsp;

需要指定的信息,只用把结果导入到文本中用命令截取打印出来就行

#脚本内容:
#!/bin/bash
(sleep 1;echo "test";sleep 1;echo "passwd";sleep 1;echo "dis int g0/0/0";sleep 1;echo " ";sleep 1;echo "quit")|telnet 192.168.1.1 >route.txt
egrep "^Last|^Input|^Output" route.txt
[[email protected] ~]# sh telnet.sh 
Connection closed by foreign host.
Last physical up time   : 2018-07-10 11:18:53 UTC+08:00
Last physical down time : 2018-07-10 11:04:15 UTC+08:00
Last 300 seconds input rate 6722328 bits/sec, 965 packets/sec
Last 300 seconds output rate 3974880 bits/sec, 825 packets/sec
Input peak rate 208110760 bits/sec,Record time: 2018-07-24 12:18:16
Output peak rate 175132424 bits/sec,Record time: 2018-08-06 11:45:05
Input:  1694537633 packets, 1393198165577 bytes
Output:  1567259062 packets, 1170657942563 bytes

&nbsp;

把查询的结果发送到你的邮箱

#发送结果到邮件脚本内容:
#!/bin/bash
GK="g0/0/0"
(sleep 1;echo "test";sleep 1;echo "passwd";sleep 1;echo "dis int $GK";sleep 1;echo " ";sleep 1;echo "quit")|telnet 192.168.1.1 >route.txt
egrep "^Last|^Input|^Output" route.txt> info.txt
python /shell/e.py [email protected].org 路由器-$GK-网口信息 "`cat info.txt`"
[[email protected] ~]#sh telnet.sh 
Connection closed by foreign host.
邮件发送成功

相关文章

未经允许不得转载:羊毛之家 » shell脚本自动执行telnet命令并返回结果
宝塔面板永久版优惠券

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址