El siguiente código se ejecuta grep en una sola máquina a través de SSH e imprime los resultados:La creación de múltiples conexiones SSH a la vez usando paramiko
import sys, os, string
import paramiko
cmd = "grep -h 'king' /opt/data/horror_20100810*"
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('10.10.3.10', username='xy', password='xy')
stdin, stdout, stderr = ssh.exec_command(cmd)
stdin.write('xy\n')
stdin.flush()
print stdout.readlines()
Como puedo GrEP cinco máquinas de una sola vez (para que no lo hago tienen un gran retraso), que ponen todo eso en cinco variables y las imprimen todas.
Eliminé 1 máquina, por lo que solo necesito 4. Olvidé mencionar que todos los datos serán procesados posteriormente en el guión y como puedo entender su código (I m PyN00b) imprimirá todos los datos de todas las máquinas a la vez, pero ¿cómo puedo procesar los datos solo desde un host a la vez? Y todos los hosts tienen diferente pase, ¿puedo ponerlos todos en workon()? Ty para una reproducción rápida Alex. Saludos – Whit3H0rse
@konjo, puede realizar el procesamiento de los datos en el hilo que acaba de obtener los datos; en su lugar, '' los imprimí, solo porque eso * * * hizo en su pregunta. El procesamiento, por supuesto, puede implicar controles sobre el valor de 'host ', si necesita realizar un procesamiento diferente para diferentes valores de los mismos. O bien, podría escribir múltiples funciones para usar como 'target =' en sus hilos: ¡no hay restricción de que todos los hilos deben ejecutar la misma función! –
Oke pude grep las 4 máquinas, pero ahora todos los datos se combinan. ¿Cómo puedo extraer datos de cada host individual, puede dar mi ejemplo, por favor amplíe el ejemplo anterior? Saludos – Whit3H0rse