@mat Oh właśnie chciałem spróbować :). W każdym razie dzięki!
Pablo Fernandez
To nie działa, ponieważ <(foo) konstrukt będzie czekać na polecenia wewnętrznego do końca przed zastąpione przez rury w oryginalnej linii komend, z którego oprogramowanie będzie w stanie odczytać, a ogon nigdy nie skończy :-)
Tak, tak to robię, tyle że zwykle mam otwartych wiele terminali gnomów, z których każda ma jedną sesję
Tom O'Connor
1
Czy można to zrobić bez otwierania wielu niezależnych sesji ssh?
tgies
8
Ale to nie pozwala ci zatrzymać ogonowania Ctrl+C.
sorin
@sorin, aby zakończyć procesy, po prostu przenieś każdy z nich na pierwszy plan fg; możesz to ctrl+czrobić. Zrobiłbyś to raz dla każdego uruchomionego ogona. Lub możesz pkill -f sshskierować wszystkie z nich jednocześnie.
Dale Anderson
34
Moją preferowaną opcją jest skorzystanie z multitail. Prowadziłbym coś takiego:
Dzięki! Szukałem przykładu, jak korzystać z multitail przez ssh / na zdalnych hostach!
Noah Sussman,
Multitail jest znacznie bardziej niezawodnym rozwiązaniem.
obfk
nasza strona ma ponad 10 węzłów internetowych, a multitail kończy się niepowodzeniem przy pierwszej próbie z błędem Operation not permitted, z 2 3 węzłami internetowymi, jest w porządku
Hieu Vo
Dostaję też Operation not permittedjakieś wskazówki?
Erik Aigner,
7
Możesz użyć tkaniny do ogonienia kilku hostów (a także wyników grep, jeśli to konieczne):
Spójrz na multitail . Podobnie jak w powyższych przykładach, możesz podać to jako polecenie dla ssh, a wtedy skończy się na jednym ekranie wyświetlającym (i buforującym dla łatwego przewijania) wiele dzienników. Robi również kolorowanie, co jest bardzo przydatne w wykrywaniu anomalii.
Po prostu pobierz wersję odpowiadającą Twojemu systemowi operacyjnemu, natywnego wydania jar do wykonania w środowisku Java Runtime (wymaga java 8_40 lub wyższej):
lub możesz użyć ekranu, aby utworzyć dwa terminale, a następnie podzielić je.
SSH do pierwszego hosta, dla którego chcesz ogonić plik dziennika, a przed uruchomieniem ogona przejdź do ekranu.
Następnie ogon plik na tym hoście.
CTRL + A, c utworzy nowy ekran lub okno. Z tego nowego okna ssh do 2. hosta i ogon tam plik.
Teraz, aby utworzyć podzielony ekran
CTRL + A, SHIFT + S, spowoduje to utworzenie podzielonego ekranu z bieżącą powłoką w górnej części i dolnej części pustej. Aby przejść do dolnej części i umieścić w niej pierwszy ekran,
CTRL + A, TAB, przeniesie Cię do dolnej części. Teraz przenieś swoją pierwszą sesję SSH w ten obszar:
CTRL + A ”(symbol cytatu) i wybierz pierwszą sesję i naciśnij Enter.
Zdaję sobie sprawę, że może to wyglądać na dużo gimnastyki i tak jest, ale przyzwyczajasz się, gdy użyjesz jej kilka razy.
Dodatkowo możesz utworzyć plik .screenrc, aby większość tego, co opisałem, mogła zostać zautomatyzowana przy pierwszym wejściu do ekranu.
Kolejną miłą rzeczą jest to, że możesz po prostu zamknąć sesję i wznowić ją w innym miejscu. Na przykład jesteś w pracy i trwa monitorowanie. Możesz po prostu zamknąć sesję bez wylogowywania się i wznowić po powrocie do domu lub w inne miejsce.
Odpowiedzi:
To działało dla mnie:
źródło
Ctrl+C
.fg
; możesz toctrl+c
zrobić. Zrobiłbyś to raz dla każdego uruchomionego ogona. Lub możeszpkill -f ssh
skierować wszystkie z nich jednocześnie.Moją preferowaną opcją jest skorzystanie z multitail. Prowadziłbym coś takiego:
źródło
Operation not permitted
, z 2 3 węzłami internetowymi, jest w porządkuOperation not permitted
jakieś wskazówki?Możesz użyć tkaniny do ogonienia kilku hostów (a także wyników grep, jeśli to konieczne):
źródło
Myślałem, że może być również możliwe użycie:
Opcja -f po ssh pozwala wprowadzić hasło, zanim uruchomi się w tle. Następnie możesz uzyskać wyniki linia po linii w jednym pliku i uruchomić:
Dałoby ci to nieco większą kontrolę nad bieżącym poleceniem „ogon”, na wypadek gdybyś chciał użyć innych opcji ogona do wyświetlania wyników.
źródło
Sprawdź tę odpowiedź na stackoverflow - używa dsh i tail -f.
źródło
Spójrz na multitail . Podobnie jak w powyższych przykładach, możesz podać to jako polecenie dla ssh, a wtedy skończy się na jednym ekranie wyświetlającym (i buforującym dla łatwego przewijania) wiele dzienników. Robi również kolorowanie, co jest bardzo przydatne w wykrywaniu anomalii.
źródło
Równoległe ssh ma na to fajne rozwiązanie:
-t0
wyłącza limit czasu połączenia, w przeciwnym razie pssh zamknie połączenie-H '<host>...'
to lista hostów do uruchomienia polecenia-P
jest włączenie drukowania standardowego dla każdego hostatail -f /var/log/app.log
może być dowolną komendą, którą może uruchomić twoja zdalna powłokaźródło
Co powiesz na coś takiego? http://gist.github.com/303175
źródło
To dziwne rozwiązanie, ale działa !:
Ekran 1
Ekran 2
źródło
who am i
i pokaże ci to.)Możesz sprawdzić dbitail.
Stworzyłem narzędzie Java, które potrafi czytać lokalne i odległe pliki dziennika za pomocą SSH. Jest dość prosty w użyciu.
Kilka dodatkowych wyjaśnień: https://github.com/pschweitz/DBITail/wiki
Po prostu pobierz wersję odpowiadającą Twojemu systemowi operacyjnemu, natywnego wydania jar do wykonania w środowisku Java Runtime (wymaga java 8_40 lub wyższej):
https://github.com/pschweitz/DBITail/releases
Możesz znaleźć pełną dokumentację (osadzoną również na stronie I Githuba)
Philippe
źródło
lub możesz użyć ekranu, aby utworzyć dwa terminale, a następnie podzielić je.
SSH do pierwszego hosta, dla którego chcesz ogonić plik dziennika, a przed uruchomieniem ogona przejdź do ekranu.
Następnie ogon plik na tym hoście.
CTRL + A, c utworzy nowy ekran lub okno. Z tego nowego okna ssh do 2. hosta i ogon tam plik.
Teraz, aby utworzyć podzielony ekran
CTRL + A, SHIFT + S, spowoduje to utworzenie podzielonego ekranu z bieżącą powłoką w górnej części i dolnej części pustej. Aby przejść do dolnej części i umieścić w niej pierwszy ekran,
CTRL + A, TAB, przeniesie Cię do dolnej części. Teraz przenieś swoją pierwszą sesję SSH w ten obszar:
CTRL + A ”(symbol cytatu) i wybierz pierwszą sesję i naciśnij Enter.
Zdaję sobie sprawę, że może to wyglądać na dużo gimnastyki i tak jest, ale przyzwyczajasz się, gdy użyjesz jej kilka razy.
Oto naprawdę dobry samouczek lub szybkie odniesienie do poleceń ekranu: http://www.pixelbeat.org/lkdb/screen.html
Dodatkowo możesz utworzyć plik .screenrc, aby większość tego, co opisałem, mogła zostać zautomatyzowana przy pierwszym wejściu do ekranu.
Kolejną miłą rzeczą jest to, że możesz po prostu zamknąć sesję i wznowić ją w innym miejscu. Na przykład jesteś w pracy i trwa monitorowanie. Możesz po prostu zamknąć sesję bez wylogowywania się i wznowić po powrocie do domu lub w inne miejsce.
źródło
Możesz Tail pliki zdalnie za pomocą bash i rsync, używam go i jest to świetny skrypt bash spójrz na następujący samouczek
Pliki ogona zdalnie przy użyciu bash i rsync
źródło