Python mehrere Telnet-Sitzungen

Ich muss ein Skript erstellen, um die Telnet-Ausgabe von so vielen Hosts wie möglich zu erhalten und sie für jeden Host in einer separaten Datei zu speichern. Das Skript sollte als Daemon ausgeführt werden.

Im Moment habe ich eine Funktion, die die Logik für dies für einen einzelnen Host mit kapselttelnetlib, aber ich weiß nicht, wie ich vorgehen soll. Ich hatte vor, einen Prozess zu eröffnen (multiprocessing.Process) für jeden Host, aber ich vermute, es wird eine Verschwendung von Ressourcen sein und es muss einen besseren Weg geben :)

def TelnetLogSaver(hostname,ip,filename):   
    # open files and telnet sessions
    f = open(filename,"a")
    tn = telnetlib.Telnet(ip,23,TIMEOUT)

    # login
    e = tn.read_until("Login: ")
    tn.write(USER+"\n")
    # and password
    e = tn.read_until("Password: ")
    tn.write(PASSWORD+"\n")

    # Connected. Start infinite loop to save messages log
    while True:
        e = tn.read_until(PROMPT,TIMEOUT)
        if e is not "":
            f.write(datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S"))
            f.write(e)
            f.flush()

        # avoid session timeout
        tn.write("\n")
        e = tn.read_until(PROMPT

Antworten auf die Frage(1)

Ihre Antwort auf die Frage