我想编写一个python脚本ssh远程计算机并运行命令netstat -antp | grep httpd
在Cron作业中运行此脚本。Python脚本ssh远程计算机并在cron作业中运行此脚本
在这里,我正在寻找httpd
服务,并检查端口号(比如80)。只有一台远程机器可以有80个休息时间应该有不同的端口,不像8888或8080.
远程机器的列表我想在运行python脚本时作为参数。
下面是我的代码片段:
import subprocess
import sys
machine_list= sys.argv[1]
for machine in machine_list:
command = "sudo netstat -antp | grep httpd"
ssh = subprocess.Popen(["ssh", "%s" % machine, command],
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
问题是,每次我运行它要求我为远程计算机的密码。如果在cron中运行,我无法手动输入密码。 可以做些什么?
请参阅[与paramiko运行Sudo命令](http://stackoverflow.com/q/22587855/850848)。 –