@mat О, я как раз собирался попробовать :). В любом случае спасибо!
Пабло Фернандес
она не работает , потому что <(Foo) конструкция будет ждать внутренней команды , чтобы закончить , прежде чем заменить трубы в исходной командной строке , с которой программное обеспечение будет иметь возможность читать, и, хвост никогда не закончить бы :-)
Да, вот как я это делаю, за исключением того, что у меня обычно открыто несколько терминалов gnome, каждый с одним сеансом внутри
Том О'Коннор
1
Есть ли способ сделать это, не открывая несколько независимых сессий SSH?
tgies
8
Но это не позволяет вам прекратить хвост Ctrl+C.
Сорин
@sorin, чтобы завершить процессы, просто верните каждый из них на первый план fg; тогда вы можете ctrl+cэто. Вы сделали бы это один раз для каждого бегущего хвоста. Или вы можете pkill -f sshнацелить их всех одновременно.
Дейл Андерсон
34
Мой предпочтительный вариант - пойти с мультитейлом. Я бы запустил что-то вроде:
Благодарность! Я искал пример того, как использовать multitail через ssh / на удаленных хостах!
Ноа Суссман
Multitail - гораздо более надежное решение.
Обфк
наш веб-сайт имеет более 10 веб-узлов, и при первой попытке происходит сбой многоадресной системы с ошибкой Operation not permitted, с 2 3 веб-узлами все нормально
Hieu Vo
Я также понимаю Operation not permitted, какие-либо подсказки?
Эрик Эйгнер
7
Вы можете использовать fabric для отслеживания нескольких хостов (а также, если нужно, результатов grep):
Параметр -f после ssh позволяет вам ввести пароль до его запуска в фоновом режиме. Тогда вы можете получить построчные результаты в одном файле и выполнить:
tail -f /tmp/somefile
Дадим вам немного больше контроля над текущей командой "tail" на случай, если вы захотите использовать другие опции tail для отображения вывода.
Взгляните на мультитэйл . Как и в приведенных выше примерах, вы можете передать его в качестве команды для ssh, и тогда у вас будет один экран, отображающий (и буферизующий для простых прокруток) несколько журналов. Это также делает окраску, которая очень полезна для обнаружения аномалий.
Просто загрузите версию, соответствующую вашей операционной системе, с собственным исполняемым файлом jar release в вашей среде выполнения Java (требуется java 8_40 или выше):
или вы можете использовать экран, чтобы создать два терминала, а затем разделить их.
SSH на первом хосте, к которому вы хотите подключить файл журнала, и перед запуском tail войдите в экран.
Затем подключите файл на этом хосте.
CTRL + A, c создаст новый экран или окно. Из этого нового окна ssh во 2-й хост и подключите туда файл.
Теперь, чтобы создать разделенный экран
CTRL + A, SHIFT + S, это создаст разделенный экран с текущей оболочкой в верхней части и нижней частью пустой. Чтобы переключиться на нижнюю часть и поместить в нее первый экран,
CTRL + A, TAB, это переместит вас в нижнюю часть. Теперь, чтобы перенести ваш первый сеанс SSH в эту область:
CTRL + A, "(символ кавычки) и выберите первую сессию и нажмите ввод.
Я понимаю, что это может выглядеть как большая гимнастика, и это так, но вы привыкнете к этому, если будете использовать ее несколько раз.
Кроме того, вы можете создать файл .screenrc, чтобы многое из того, что я описал, можно было автоматизировать при первом входе в экран.
Еще одна приятная вещь - это то, что вы можете просто закрыть сеанс и возобновить его в другом месте. Например, вы на работе, и у вас есть какой-то мониторинг. Вы можете просто закрыть сеанс, не выходя из системы, и возобновить работу, когда вернетесь домой или в другое место.
Ответы:
Это сработало для меня:
источник
Ctrl+C
.fg
; тогда вы можетеctrl+c
это. Вы сделали бы это один раз для каждого бегущего хвоста. Или вы можетеpkill -f ssh
нацелить их всех одновременно.Мой предпочтительный вариант - пойти с мультитейлом. Я бы запустил что-то вроде:
источник
Operation not permitted
, с 2 3 веб-узлами все нормальноOperation not permitted
, какие-либо подсказки?Вы можете использовать fabric для отслеживания нескольких хостов (а также, если нужно, результатов grep):
источник
Я думал, что это также может быть возможно использовать:
Параметр -f после ssh позволяет вам ввести пароль до его запуска в фоновом режиме. Тогда вы можете получить построчные результаты в одном файле и выполнить:
Дадим вам немного больше контроля над текущей командой "tail" на случай, если вы захотите использовать другие опции tail для отображения вывода.
источник
Проверьте этот ответ на stackoverflow - он использует dsh и tail -f.
источник
Взгляните на мультитэйл . Как и в приведенных выше примерах, вы можете передать его в качестве команды для ssh, и тогда у вас будет один экран, отображающий (и буферизующий для простых прокруток) несколько журналов. Это также делает окраску, которая очень полезна для обнаружения аномалий.
источник
Parallels SSH имеет хорошее решение для этого:
-t0
отключает тайм-аут соединения, иначе pssh закрыл соединение-H '<host>...'
список хостов для запуска команды-P
включить печать стандартного вывода каждого хостаtail -f /var/log/app.log
может быть любой командой, которую может запустить ваша удаленная оболочкаисточник
Что бы вы сказали о чем-то вроде этого? http://gist.github.com/303175
источник
Просто странное решение, но оно работает!
Экран 1
Экран 2
источник
who am i
и он покажет его вам.)Вы можете оформить заказ.
Я создал инструмент Java, способный читать локальные и удаленные файлы журналов, используя SSH. Это довольно просто в использовании.
Еще несколько объяснений: https://github.com/pschweitz/DBITail/wiki
Просто загрузите версию, соответствующую вашей операционной системе, с собственным исполняемым файлом jar release в вашей среде выполнения Java (требуется java 8_40 или выше):
https://github.com/pschweitz/DBITail/releases
Вы можете найти полную документацию (встроенную вместе со страницей Github)
Philippe
источник
или вы можете использовать экран, чтобы создать два терминала, а затем разделить их.
SSH на первом хосте, к которому вы хотите подключить файл журнала, и перед запуском tail войдите в экран.
Затем подключите файл на этом хосте.
CTRL + A, c создаст новый экран или окно. Из этого нового окна ssh во 2-й хост и подключите туда файл.
Теперь, чтобы создать разделенный экран
CTRL + A, SHIFT + S, это создаст разделенный экран с текущей оболочкой в верхней части и нижней частью пустой. Чтобы переключиться на нижнюю часть и поместить в нее первый экран,
CTRL + A, TAB, это переместит вас в нижнюю часть. Теперь, чтобы перенести ваш первый сеанс SSH в эту область:
CTRL + A, "(символ кавычки) и выберите первую сессию и нажмите ввод.
Я понимаю, что это может выглядеть как большая гимнастика, и это так, но вы привыкнете к этому, если будете использовать ее несколько раз.
Вот действительно хороший учебник или краткий справочник по командам экрана: http://www.pixelbeat.org/lkdb/screen.html
Кроме того, вы можете создать файл .screenrc, чтобы многое из того, что я описал, можно было автоматизировать при первом входе в экран.
Еще одна приятная вещь - это то, что вы можете просто закрыть сеанс и возобновить его в другом месте. Например, вы на работе, и у вас есть какой-то мониторинг. Вы можете просто закрыть сеанс, не выходя из системы, и возобновить работу, когда вернетесь домой или в другое место.
источник
Вы можете использовать Tail файлы удаленно, используя bash и rsync, я использую его, и это отличный сценарий bash, посмотрите следующее руководство
Удаленно подключайте файлы, используя bash и rsync.
источник