Конец файлов журнала в двух различных хостах

[

] В разделе Переполнение стека и Ошибка сервера уже есть отличный набор ответов на этот вопрос, но некоторые приемы отсутствовали. Чтобы сделать жизнь проще, вот список VM/Linux блочных устройств/Linux файловой системы/Linux библиотеки пользовательского пространства I/O механизмы инжекции ошибок: [

] [

] [

]Бонусный факт: []SQLite имеет драйвер VFS для моделирования ошибок[], чтобы получить хорошее тестовое покрытие.[

] [

]Похожее:[

] [

]

1
16.01.2015, 23:57
3 ответа

Я только что сделал следующее:

mkfifo MY_PIPE
ssh HOST_1 "tail -f /var/log/messages" > MY_PIPE

на локальной машине I RAн:

tail -f /var/log/messages > MY_PIPE

в другом терминале на локальной машине:

cat < MY_PIPE

Выход как удаленного, так и локального Хвост -F / var / log / messages Commands видимы.

Учебник, который я следовал, находится из Linux Journal.

0
27.01.2020, 23:37

Вы также можете использовать Tee с вариантом добавления (- A) для слияния содержимого.

в терминале № 1

ssh HOST_1 "tail -f /path/to/file" | tee -a /path/to/merged/contents

в терминале № 2

ssh HOST_2 "tail -f /path/to/file" | tee -a /path/to/merged/contents

в терминале № 3

tail -f /path/to/merged/contents
1
27.01.2020, 23:37
ssh HOST_1 "tail -f MY_LOG_FILE" > MY_NAMED_PIPE

Хвостовая программа собирается буферизировать свой вывод блоками по 8 КБ или около того, потому что она не пишет на TTY. Если MY_LOG_FILE не очень активна, то, возможно, поэтому вы не увидите никакого вывода. Даже если бы он работал, хвост не записывает полные строки за раз, так что вывод из нескольких экземпляров хвоста был бы сильно запутан.

Вы можете сказать ssh выполнить команду хвоста, используя TTY. Это должно привести к тому, что tail будет буферизировать свой вывод по строкам. Это должно дать лучшие результаты.

ssh -tt HOST_1 "tail -f MY_LOG_FILE" > MY_NAMED_PIPE

Вы можете обратиться к странице man ssh здесь .

1
27.01.2020, 23:37

Теги

Похожие вопросы