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

rsyslog + внешний скрипт

Добавлено: 2013-09-27 14:01:01
zett
Привет, ребята.

По какой причине могут не запускаться скрипты в rsyslogd?

Вот как я пробую сделать:

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

/etc/rsyslog.conf:
...
$template dukuy, "%msg%"
if $syslogfacility-text contains 'local4' then ^/home/zett/scripts/local4.pl;dukuy
...
Вот сам скриптик:

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

#!/usr/bin/perl

use 5.010;
use strict;
use warnings;

my $log = "log/local4.log";
system "touch",  "$log" unless -f $log;

open LOG, ">", "$log"  or die "$0: Can't open file $log :: $!\n";
print LOG "@ARGV\n";
Потом в консоле...:

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

logger -p local4.err '2013-09-25 14:49:56^LIST_ED^2^session^{00000000-0000-0000-0000-000000000000}^Test message'
И ищу файлик log/local4.log, а его нет.. Если запустить все руками:

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

linux-testserver:/home/zett/scripts # ./local4.pl test script
linux-testserver:/home/zett/scripts # cat log/local4.log 
test script
.. тогда все хорошо..

Файлик даже не создается при "запуске" rsyslog'ом.. Значит дело до скрипта не доходит. :crazy: