Пересылка журнала Rsyslog с пробелом в пути или имени

Пересылка журнала Rsyslog с пробелом в пути или имени

Как переслать файл журнала, содержащий пробел в имени или пути, с помощью Rsyslog?

$ModLoad imfile
$InputFileName /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Logs/*
$InputFileTag plex
$InputFileStateFile stat-plex
$InputFileSeverity info
$InputFileFacility local3
$InputRunFileMonitor
local3.* @@10.0.0.5:514

Не работает. Я пробовал одинарные кавычки, двойные кавычки, тройное экранирование пробелов. Я не могу понять.

решение1

Я не знаю, как это сделать в устаревшем режиме, но это легко сделать в RainerScript, который ваш rsyslog, вероятно, поддерживает. Замените все на

module(load="imfile" PollingInterval="10")
input(type="imfile"
    File="/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Logs/*"
    Tag="plex"
    Severity="info"
    Facility="local3")
local3.* @@10.0.0.5:514

Обратите внимание, что хотя есть параметр stateFile="stat-plex", он устарел и может не работать для glob-файлов. Предполагается, что вы позволите rsyslog обрабатывать само имя файла состояния.

решение2

На самом деле я просто создал символическую ссылку на папку, и это сработало.

Связанный контент