Страница 1 из 1

rsyslog shell execute экранирование

Добавлено: 2013-03-18 15:36:03
prostrelov
Rsyslog умеет обращаться к внешним скриптам через <^> синтаксис в конфиге.
И всё прекрасно работает до тех пор пока вашему скрипту не потребуется передавать какое либо значение в качестве параметра.
Я пробовал экранировать пробел слэшом "\", пробовал кавычки `` , '' , "", скобки (),[].
Вспомнил html и попробовал "&nbsp". Но результат один и тот же. Параметр в скрипт не идёт.
Как побороть желание rsyslog'а отрезать всё что идёт после пробела в командах execute shell (^)

nano /etc/rsyslog.conf
...
if $fromhost-ip contains '192.168.0.1' then ?FILENAME;ROUTER01
& ^/etc/rsyslog/syslog.sh 192.168.0.1

Re: rsyslog shell execute экранирование

Добавлено: 2013-03-25 16:04:33
prostrelov

Код: Выделить всё

nano /etc/rsyslog.conf
...
template MYVAR, "%fromhost-ip%"
if $fromhost-ip contains '192.168.0.1' then ?FILENAME;ROUTER01
& ^/etc/rsyslog/syslog.sh;MYVAR