python远程执行shell命令_使用python脚本通过telnet在远程主机上执行命令

我一直试图写一个脚本来简化我的一系列工作。我用shell命令尝试过,但是代码看起来太直截了当了,说实话太业余了。我正在尝试学习python编写脚本,在您的帮助下,我希望我的这个问题可以变成一个解释性的实践。在

以下是我编写的shell代码:#!/usr/bin/expect

spawn telnet IPaddress

sleep 0.1

expect "Enter username and password"

send "username password \n"

sleep 0.1

send "debug; \n"

sleep 0.1

send "def t1 suspend_loader \n"

expect "enter subcommands"

send "traceback \n \n;"

sleep 1

send "act t1 \n"

sleep 0.1

send "quit \n"

sleep 0.1

send "stor2tst;audit_modules \n"

expect "PS Checksum audit completed"

send "quit \n"

sleep 0.1

send "debug"

sleep 0.1

send "print t1 \n"

sleep 0.5

send "quit \n"

sleep 0.1

send "logutil;open MOD;back all;quit \n"

sleep 0.1

send "debug \n"

sleep 0.1

send "di modules:pr.514 d 1 (&0) char n=68 \n"

send "quit \n"

sleep 1

send "quit \n"

send "logout \n"

interact

正如您可能已经猜到的,这段代码是为特定的交换机接口而设计的。用户名和密码提示在一行中。为了执行多个命令,我需要特定的shell级别(例如调试级别)。我在这里也使用了expect模块,但我认为它只是传递而没有检查expect部分的字符串。。在

我想做什么?

我需要远程登录已知IP地址列表(20台服务器)。

所有服务器的用户名和密码都相同。

我需要在每台服务器上执行这些命令集,并将所有输出返回到指定目录下的单独日志文件(例如/tmp/dir)。

另外,几个命令需要“双回车”才能执行!这就是为什么我使用\n \n after traceback命令。在

感谢任何帮助。

提前谢谢你

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值