也许python脚本可以用于这种简单的自动化。 我需要通过ssh连接到我的路由器并反复运行命令。我明白,如果我使用Plink脚本,我可能要重复我的命令数千次。那会有效,但仅仅重复一下这个命令是不是更好?
例如,如果我必须创建一个脚本,我的文件将如下所示:
/user/print
/user/print
/user/print
/user/print
/user/print
/user/print
/user/print
.....
答案 0 :(得分:0)
要在服务器端执行循环,请执行以下操作:
plink username@example.com "while true; /user/print; done"
这样做的好处是只能连接一次到服务器。
要在客户端执行循环,请执行以下操作:
:loop
plink username@example.com /user/print
goto loop
如果您可以执行Python,只需循环ssh.exec_command
调用。
import paramiko
import time
ssh = paramiko.SSHClient()
ssh.connect("example.com", username="username", password="password")
while True:
print "Running"
stdin, stdout, stderr = ssh.exec_command("/log print")
print stdout.read()
print stderr.read()
print "Waiting"
time.sleep(5)
以上是组合代码:
答案 1 :(得分:0)
您可以使用专门为此设计的vassal软件包。
您所需要做的就是安装vassal并执行
from vassal.terminal import Terminal
from vassal.scheduler import Scheduler
shell = Terminal(["ssh username@host", "cd scripts", "python foo1.py", "python foo2.py"])
shell = Scheduler(shell, sec=1)
shell.run()
这将每秒运行一次命令,您可以使它更快地运行以更改sec = 0.1。