[
] В разделе Переполнение стека и Ошибка сервера уже есть отличный набор ответов на этот вопрос, но некоторые приемы отсутствовали. Чтобы сделать жизнь проще, вот список VM/Linux блочных устройств/Linux файловой системы/Linux библиотеки пользовательского пространства I/O механизмы инжекции ошибок: [
] [
]-макет[
] на странице man mdadm[] для настройки (биты пользовательского пространства ядра и mdadm).[]LD_PRELOAD[
])). []FAIL_MAKE_REQUEST=y[
]).[]BLK_DEV_NULL_BLK_FAULT_INJECTION=y[
]). []delay[
][] или [][]error[
][] , а затем подключите к нему блочное устройство через []nbd-клиент[
] (kernel + биты пользовательского пространства NBD, kernel >= 4.18, собранное с поддержкой NBD, nbdclient >= 3. 18 и nbdkit >= рекомендуется 1.8.1 - см. []Демонстрационное видео NBDKit[] около 20-минутной отметки).[] [
]Бонусный факт: []SQLite имеет драйвер VFS для моделирования ошибок[], чтобы получить хорошее тестовое покрытие.[
] [
]Похожее:[
] [
]
Я только что сделал следующее:
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.
Вы также можете использовать 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
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 здесь .