Вы можете сделать что-то подобное, используя FIFO, что-то вроде файла нулевого размера.
Однако учтите, что если из этого файла ничего не ПРОЧИТАЕТСЯ, тогда процесс системного журнала может быть заблокирован и прекратит запись во ВСЕ ваши файлы журналов. Я не уверен, изменилось ли это поведение в более новых версиях Ubuntu / CentOS.
Один пример здесь
Для другого примера попробуйте что-то вроде этого.
Сделайте свой FIFO:
sudo mkfifo /var/log/everything.fifo
И добавьте это в (r) syslog.conf, затем перезапустите syslog:
*.* |/var/log/everything.fifo
Затем посмотрите FIFO из одного окна:
cat /var/log/everything.fifo
И в другом окне отправьте некоторые вещи в системный журнал:
logger Test1
logger Test2
logger Test3
Вы должны увидеть строки «Test *» в выводе cat
выше.
Эта функция может быть полезна для отладки, особенно если вы не хотите хранить данные дольше. Например, если вы хотите видеть только все, кроме спама на брандмауэре, вы можете сделать что-то вроде этого:
grep -vi "kernel: .* on wan" /var/log/everything.fifo
rm -f *.tar.gz.*