Frage Schließen Sie mehrere Remote-Dateien ab


Gibt es einen Weg zu Remote Tail 2 Dateien?

Ich habe zwei Server (a und b) hinter einem Load Balancer und möchte so etwas wie möglich tun:

tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log

Vielen Dank!


37
2018-02-13 00:10


Ursprung


Warum hast du die Antwort gelöscht? - Pablo Fernandez
vor allem, weil es nicht funktioniert hat :-) - mat
@mat Oh ich wollte es gerade ausprobieren :). Trotzdem danke! - Pablo Fernandez
es funktioniert nicht, weil das Konstrukt <(foo) auf den inneren Befehl warten wird Fertig bevor er durch eine Pipe in der ursprünglichen Befehlszeile ersetzt wird, von der die Software lesen kann, und der Schwanz würde nie enden :-) - mat


Antworten:


Das hat für mich funktioniert:

ssh -n user@hostname1 'tail -f /mylogs/log' &
ssh -n user@hostname2 'tail -f /mylogs/log' &

28
2018-02-13 01:06



Ja, so mache ich das, außer dass ich normalerweise mehrere Gnome-Terminals geöffnet habe, die jeweils eine Sitzung enthalten - Tom O'Connor
Gibt es eine Möglichkeit, dies zu tun, ohne mehrere unabhängige SSH-Sitzungen zu öffnen? - tgies
Aber das erlaubt dir nicht, mit dem Tailing aufzuhören Ctrl+C. - sorin
@sorin um die Prozesse zu beenden, bringe sie einfach wieder in den Vordergrund fg; dann kannst du ctrl+c es. Sie würden das einmal für jeden Schwanz tun, den Sie ausgeführt haben. Oder du könntest pkill -f ssh um sie alle gleichzeitig anzugreifen. - Dale Anderson


Meine bevorzugte Option ist mit Multitail zu gehen. Ich würde etwas wie:

multitail -l 'ssh user@host1 "tail -f /some/log/file"' -l 'ssh user@host2 "tail -f /some/log/file"'

30
2018-05-08 11:42



Vielen Dank! Ich war auf der Suche nach einem Beispiel für die Verwendung von Multitail über ssh / auf Remote-Hosts! - Noah Sussman
Multitail ist eine weitaus robustere Lösung. - obfk
Unsere Website hat mehr als 10 Web-Knoten und Multitail schlägt beim ersten Versuch mit dem Fehler fehl Operation not permittedMit 2 3 Webknoten ist es in Ordnung - Hieu Vo
Ich bekomme auch die Operation not permitted, irgendwelche Hinweise? - Erik Aigner


Ich dachte mir, dass es auch möglich sein könnte:

ssh -f user@hostname1 "tail -f /var/log/file" > /tmp/somefile &
ssh -f user@hostname2 "tail -f /var/log/file" > /tmp/somefile &

Mit der Option -f nach ssh können Sie ein Passwort eingeben, bevor es im Hintergrund ausgeführt wird. Dann könnten Sie die Zeile-für-Zeile-Ergebnisse in einer einzigen Datei haben und ausführen:

tail -f /tmp/somefile

Würde Ihnen ein wenig mehr Kontrolle über den aktuellen "Tail" -Befehl geben, falls Sie andere Tail-Optionen zum Anzeigen der Ausgabe verwenden wollten.


6
2018-02-13 02:28





Sie können verwenden Stoff mehrere Hosts (und grep Ergebnisse, falls nötig):

$ fab -P -u 'USER' -p 'PASSWORD' --linewise -H host1,host2,host3 -- tail -f /path/to/my/log.log | grep ERROR

6
2018-02-07 18:08





Auschecken diese Antwort auf stackoverflow - Es verwendet dsh und tail -f.


5
2017-09-01 22:41





Sieh dir das an Multitail. Genau wie in den obigen Beispielen können Sie es als Befehl an ssh übergeben, und dann werden Sie auf einem Bildschirm mehrere Protokolle anzeigen (und für einfache Scrollbacks puffern). Es macht auch Färbung, die sehr nützlich ist, um Anomalien zu entdecken.


5
2018-02-13 04:51





Paralleles ssh hat dafür eine schöne Lösung:

pssh -t0 -H 'host-01 host-02 host-03 host-04' -P tail -f /var/log/app.log
  • -t0 deaktiviert das Verbindungszeitlimit, andernfalls schloss pssh die Verbindung
  • -H '<host>...' ist die Liste der Hosts, auf denen der Befehl ausgeführt werden soll
  • -P ist es, das stdout jedes Hosts zu drucken
  • tail -f /var/log/app.log kann ein beliebiger Befehl sein, den Ihre Remote Shell ausführen kann

2
2017-09-11 15:48





Was würdest du über so etwas sagen? http://gist.github.com/303175


1
2018-02-13 01:15





Sie können dbitail auschecken.

Ein Java-Tool, das ich erstellt habe, in der Lage, lokale und entfernte Log-Dateien mit SSH zu lesen. Es ist ziemlich einfach zu benutzen.

Einige weitere Erklärungen: https://github.com/pschweitz/DBITail/wiki

Laden Sie einfach die Version herunter, die Ihrem Betriebssystem entspricht, und zwar von der nativen jar-Version, die in Ihrer Java Runtime ausführbar ist (benötigt Java 8_40 oder höher):

https://github.com/pschweitz/DBITail/releases

Sie finden eine vollständige Dokumentation (eingebettet mit und ich auch Githubs Seite)

Philippe


1
2017-07-01 20:10