J'ai un script qui va se connecter à une liste de noms d'hôtes, exécuter une commande et imprimer la sortie à l'écran. Je sais comment envoyer la sortie vers un fichier txt, mais je voudrais le configurer de manière à ce que la sortie de chaque hôte crée son propre fichier txt. Idéalement, j'aimerais que le fichier soit enregistré en tant que host1.txt, host2.txt, etc. Ouvrez-vous à d'autres idées s'il existe un moyen plus simple et plus intelligent d'y parvenir.Enregistrer la sortie dans plusieurs fichiers texte
import sys, os, string, threading
import getpass
import paramiko
cmd = "sh vl bri"
lanid = raw_input("Enter your uname: ")
#get password info
def enterPassword():
while True: # repeat forever
pwd = getpass.getpass('Enter password:')
password_again = getpass.getpass('Confirm password:')
if pwd != password_again:
print 'Password and confirmation do not match.Please try again!!'
else:
return pwd
pwd = enterPassword()
outlock = threading.Lock()
def workon(host):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username=lanid, password=pwd)
stdin, stdout, stderr = ssh.exec_command(cmd)
print stdout.read()
stdin.flush()
with outlock:
print stdout.readlines()
def main():
hosts = ['host1', 'host2', 'host3', ] # etc
threads = []
for h in hosts:
t = threading.Thread(target=workon, args=(h,))
t.start()
threads.append(t)
for t in threads:
t.join()
main()
j'ai essayé, mais im obtenir des erreurs en retrait. Encore nouveau script si je suis sûr que son quelque chose de facile def WorkOn (hôte): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy (paramiko.AutoAddPolicy()) ssh.connect (hôte, nom d'utilisateur = lanid, mot de passe = mdp) stdin, stdout, stderr = ssh.exec_command (cmd) #print stdout.read() \t \t avec open ("output-" + hôte, 'w') sous la forme f: \t \t f.write (stdout) stdin.flush() avec le déverrouillage: impression stdout.readlines() – JoeScripter
apologies pour le formatage du commentaire précédent. J'essaie toujours de comprendre comment coller du code dans un commentaire. – JoeScripter