2016-04-08 2 views
0

Я новичок в python, желая написать скрипт, который будет передавать ssh примерно 1000 хостам с сервера перехода, а Output должен содержать имя хоста и версию операционной системы. Redhat 5.0 или 6,0 и т. Д., И у меня есть список всех хостов, и поэтому скрипт может продолжать получать имя хоста из списка хостов. Можно ли использовать парамико и платформенные модули? .. Я был бы очень признателен, если бы кто-то мог дать грубую рамку, чтобы начать меня. или аналогичный сценарий.скрипт python для запроса версии нескольких операционных систем

ответ

0

Вы можете использовать комбинацию команд paramiko и shell. См

Perform commands over ssh with Python

ssh = paramiko.SSHClient() 
ssh.connect(server, username=username, password=password) 
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute) 

Здесь для cmd_to_execute вы можете использовать 'имя хоста':

http://linux.die.net/man/1/hostname

и найти версию RedHat

$cat /etc/redhat-release 

См: https://unix.stackexchange.com/questions/88644/how-to-check-os-and-version-using-a-linux-command

+0

Благодарю вас за ответ, я уже все это сделал. Проблема, с которой я столкнулся, заключается в том, как добавить файл каждого сервера в файл журнала моего сервера перехода. SSH невозможен, потому что у нас есть только способ входа в систему на любом сервере через JUMP-сервер для обеспечения безопасности, а не наоборот. Как я могу собрать выходные данные на разных серверах? –

+0

Я все еще вижу результат выполнения скрипта в своем CLI после выполнения. Нужно ли перенаправить вывод в файл журнала вместо отображения на экране. –

0

socket и platform могут это сделать.

import socket 
import platform 

print socket.gethostname() 
print platform.platform() 
+0

Благодарим вас за ответ, я уже все это сделал. Проблема, с которой я столкнулся, заключается в том, как добавить файл каждого сервера в файл журнала моего сервера перехода. SSH невозможен, потому что у нас есть только способ входа в систему на любом сервере через JUMP-сервер для обеспечения безопасности, а не наоборот. Как я могу собрать выходные данные на разных серверах? –

Смежные вопросы