Czy istnieje sposób na zdalne pliki tail 2?
Mam dwa serwery (a i b) za modułem równoważenia obciążenia i jeśli to możliwe, chciałbym zrobić coś takiego:
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
Dzięki!
Czy istnieje sposób na zdalne pliki tail 2?
Mam dwa serwery (a i b) za modułem równoważenia obciążenia i jeśli to możliwe, chciałbym zrobić coś takiego:
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
Dzięki!
Odpowiedzi:
To działało dla mnie:
ssh -n user@hostname1 'tail -f /mylogs/log' &
ssh -n user@hostname2 'tail -f /mylogs/log' &
Ctrl+C
.
fg
; możesz to ctrl+c
zrobić. Zrobiłbyś to raz dla każdego uruchomionego ogona. Lub możesz pkill -f ssh
skierować wszystkie z nich jednocześnie.
Moją preferowaną opcją jest skorzystanie z multitail. Prowadziłbym coś takiego:
multitail -l 'ssh user@host1 "tail -f /some/log/file"' -l 'ssh user@host2 "tail -f /some/log/file"'
Operation not permitted
, z 2 3 węzłami internetowymi, jest w porządku
Operation not permitted
jakieś wskazówki?
Myślałem, że może być również możliwe użycie:
ssh -f user@hostname1 "tail -f /var/log/file" > /tmp/somefile &
ssh -f user@hostname2 "tail -f /var/log/file" > /tmp/somefile &
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ć:
tail -f /tmp/somefile
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.
Sprawdź tę odpowiedź na stackoverflow - używa dsh i tail -f.
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ównoległe ssh ma na to fajne rozwiązanie:
pssh -t0 -H 'host-01 host-02 host-03 host-04' -P tail -f /var/log/app.log
-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łokaCo powiesz na coś takiego? http://gist.github.com/303175
To dziwne rozwiązanie, ale działa !:
Ekran 1
ssh user@hostname1 "tail -f /var/log/file" > /dev/pts/6
Ekran 2
ssh user@hostname2 "tail -f /var/log/file" > /dev/pts/6
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
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.
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