Grep в новых файлах журнала по мере их создания

У меня была такая же ошибка после команды PASS в CENTOS 7. (GnuTLS error -15: An unexpected TLS packet was received.)

Мое решение следующее:

Мне пришлось добавить следующее в vsftpd.conf:

allow_writeable_chroot=YES

chroot_local_user=YES 
local_root=/ftphome/$USER 
user_sub_token=$USER
3
25.04.2017, 14:02
1 ответ

Вот рецепт высокого уровня.

  1. Настройте syslogd или rsyslogd (в зависимости от того, что использует ваша система) для вывода требуемые сообщения объекта/приоритета в именованный канал в дополнение туда, куда он идет сейчас. Выдержка из man rsyslog.conf
 Именованные каналы

Эта версия rsyslogd(8) поддерживает вывод логов в
именованные каналы (fifos). Fifo или именованный канал можно использовать в качестве дескриптора.
для сообщений журнала путем добавления символа вертикальной черты ('|') перед
имя файла. Это удобно для отладки. Обратите внимание, что
fifo должен быть создан с помощью команды mkfifo(1) до запуска rsys‐
logd(8) запущен.
 

В моем /etc/rsyslog.d/50-default.conf есть пример.

daemon.*;mail.*;\
    news.err;\
    *.=debug;*.=info;\
    *.=notice;*.=warn       |/tmp/rt_monitor
  1. Создайте именованный канал и используйте tail и grep для чтения и поиска в канале.

    mkfifo /tmp/rt_monitor; хвост -f /tmp/rt_monitor | grep "alert string"

Вы должны проверить, что система продолжает работу, если именованный канал переполняется, если у вас не запущен потребитель, и предотвратить это, я дал вам очень плохой рецепт.

2
27.01.2020, 21:25

Теги

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