Создание демона Perl, работающего 24 часа в сутки 7 дней в неделю и считывающего с названных трубок

Я пытаюсь сделать анализатор журналов, используя perl. Анализатор будет работать 24 часа в сутки 7 дней в неделю в фоновом режиме на AIX сервере и считывать с труб, на которые syslog направляет журналы (со всей сети). В основном:

logs from network ----> named pipe A -------->   | perl daemon
                  ----> named pipe B -------->   | * reads pipes
                  ----> named pipe c -------->   | * decides what to do based on which pipe

Так что, например, я хочу, чтобы мой демон мог быть настроен на почту root@domain.com все журналы, которые записываются в именованную трубу C. Для этого, я предполагаю, что демон должен иметь хэш (новый для perl, но это похоже на соответствующую структуру данных), который может быть изменен "на лету" и будет указывать ему, что делать с каждой трубкой.

Это возможно? Или мне следует создать файл .conf в /etc для хранения информации. Что-то вроде этого:

namedpipeA:'mail root@domain.com'
namedpipeB:save:'mail user@domain.com'

Итак, получение чего-либо из A будет отправлено по адресу root@domain.com, а всё из B будет сохранено в лог-файл (как обычно) И отправлено по адресу user@domain.com

Поскольку я впервые использую Perl и первый раз создаю демона, могу ли я в любом случае сделать это, придерживаясь принципа KISS? Кроме того, есть ли какие-нибудь конвенции, которых я должен придерживаться? Если бы вы могли принять во внимание мое незнание при ответе, было бы очень полезно.

7
задан n0pe 28 July 2011 в 18:43
поделиться