正如mirlinda所说,这是一组需求,而不是一个问题。我只是有一个计划供你参考。
您的经理刚刚让您找出主机名(/etc/hostname(是什么,以及www目录中是否有任何文件。你的经理希望你在两台基于Ubuntu的机器上检查这一点。然而,他们希望你以一种可以扩展到网络上所有100台服务器的方式编写这篇文章。实现以下项目:
制作流程图。
创建伪代码。
通过paramiko建立一个SSH连接,并发送一个命令来检查主机名,然后发送第二个命令来查看www目录中是否有任何内容。
从文件(文本或CSV(中输入IP地址。
将两个命令的输出保存到文件(文本或CSV(中,确保注意数据来自哪个IP。
- 您可以将所有ip地址写入文本文件,每行一个ip
- 使用
ssh-keygen -t rsa -C "your mail"
命令在您的100台服务器中创建ssh-rsa密钥 - 运行
ssh-copy-id -i ~/.ssh/id_rsa.pub root@[ip]
,使管理员计算机可以访问要访问的服务器,而无需密码 - 编写一个python脚本,每次从
readline
接口保存的所有服务器ip的文本文件中读取一个ip - 使用
check_output
接口运行hostname
命令获取服务器主机名,使用ls [full path of www]
获取www目录内容 - 您可以通过重定向符号'>'将
check_output
接口的返回内容保存到文件中 - 使用while或for语句在python脚本中循环操作4-6,直到获得所有100台服务器的所有主机名和www内容