- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 Python Paramiko 脚本,可以将命令发送到内部网上的远程主机。有时我想一次向多个主机发送关闭命令。问题是 shutdown 命令只是简单地等待,除非您将其置于后台。我试过使用符号(如上所示,或转义:\&)。这是一个小测试程序。我的操作系统是 RHEL Linux 5.9 (Python 2.4.3)。请注意,sudoers 会为某些用户禁用 requiretty。
#!/usr/bin/python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("<hostname>",username="<my username>", password="<mypassword>")
stdin, stdout, stderr = ssh.exec_command("sudo /sbin/shutdown -h 17:00 \&")
stdin.write('\n')stdin.flush()
data = stdout.read().splitlines()
for line in data:
print line
最佳答案
我已经按预期使用 shutdown 命令解决了这个问题。首先不要转义符号 (\&)。由于 shutdown 命令不会向 stdout 返回任何内容,因此我只是删除了处理输出的那些行。想要使用 shutdown with a time 的原因是为了通知用户。
#!/usr/bin/python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("<hostname>",username="<my username>", password="<mypassword>")
stdin, stdout, stderr = ssh.exec_command("sudo /sbin/shutdown -h 17:00 &")]
ssh.close()
关于python - ssh.exec_command ("shutdown -h 17:00 &"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749270/
我得到了以下 ssh 命令, try: print 'trying to restart' self.ssh.exec_command(RR_CMD % (se
这个问题已经有答案了: Paramiko with continuous stdout (2 个回答) 已关闭 2 年前。 注意:我看过其他关于此问题的帖子,但没有一篇帖子可以解释答案,也没有一个有效
设置:paramiko 1.15.1根据文档,从 1.10.0 开始为 exec_command 创建了超时,但由于某种原因它对我不起作用。我的代码中是否有我遗漏的错误,或者它实际上是一个错误? 我有
这个问题在这里已经有了答案: Get output from a Paramiko SSH exec_command continuously (6 个答案) 关闭 2 年前。 我在 Python
我的 Python 脚本使用 Paramiko 库的 exec_command 函数通过 ssh 运行远程命令。为了测试此命令的 timeout 选项,我发送了一个不执行任何操作的循环,并验证 exe
这个问题在这里已经有了答案: Command executed with Paramiko does not produce any output (1 个回答) 关闭 2 年前。 我正在使用 pa
我需要通过 ssh.exec_command() 模拟执行一些远程命令它返回元组 (stdin, stdout, stderr) 作为 paramiko.ChanelFile 对象。 因此,我将命令输
我正在尝试使用 Paramiko 通过 SSH 连接到 Brocade 交换机并执行远程命令。代码如下: def ssh_connector(ip, userName, passWord, comma
我有一个 python 脚本,我正在尝试安装 rpm 包,但是当我发送安装命令时,它不会等待命令完成就重新启动服务。我读过很多关于使用 recv_exit_status() 的论坛,但我认为我没有正确
将字符串转义为安全用作命令行参数的最佳方法是什么?我知道使用 subprocess.Popen 会使用 list2cmdline() 来解决这个问题,但这似乎对 paramiko 不起作用。示例: f
我正在使用 Python 的 Paramiko 模块通过 SSH 连接到远程机器,并使用 Tar/ZIP 压缩一个包含大量文件(超过 14K 文件和 60+g 数据)的文件夹。生成的 zip 本身大约
我是 paramiko 的新用户,在使用 paramiko 的远程服务器上运行命令时遇到困难。我想导出路径并在后台运行一个名为 tophat 的程序。我可以使用 paramiko.sshclient(
我正在使用 Paramiko tail -f 远程服务器上的文件。 以前,我们通过 ssh -t 运行它,但事实证明这很不稳定,-t 导致我们的远程调度系统出现问题。 我的问题是当脚本捕获到 SIGI
我正在使用 Paramiko(新手)连接到 Linux 服务器。我能够连接到服务器并执行不同的命令(例如“ls”、“正常运行时间”)并读取结果。但是,当尝试执行“sudo -iu”命令(不需要密码)时
这个问题已经有答案了: Some Unix commands fail with " not found", when executed using Python Paramiko exec_comm
我使用 Paramiko 的 exec_command如下在服务器上运行后台命令: client.exec_command('test > /dev/null 2 > &1 &') 但是我无法通过'p
我是 Paramiko 的新手。我正在尝试创建一个简单的脚本,允许任何人使用他们的 Linux 凭据来运行命令。我决定使用简单的 ls 命令进行测试,但我收到了错误。 import paramiko
背景:我正在使用 python 和 paramiko 来自动化我每次必须为类(class)提交程序时所经历的过程。我们使用名为“handin”的命令来提交源代码,但这必须在学校计算机上完成。所以当我从
我使用 Paramiko 从远程 Linux 机器启动一个 shell 脚本。启动 shell 脚本并执行命令 make -j8。但是 exec_command 在 make 完成之前返回。 如果我在
我正在使用 paramiko 在远程机器上通过 ssh 执行一个长时间运行的 python 脚本。工作起来很有魅力,到目前为止没有问题。 不幸的是,stdout(分别为 stderr)仅在脚本完成后显
我是一名优秀的程序员,十分优秀!