Да, это имеет большой смысл. Иметь 1 общий скрипт-демон, который будет вызываться из командной строки. Оба (1) редактируют syslog.conf, (2) создают канал и (3) читают канал, пока не будут уничтожены. Однако что происходит, когда этот демон умирает случайно или система перезагружается? Как я могу быть уверен, что это происходит, как это было раньше?
аюсь сделать анализатор логов, используя Perl. Анализатор будет работать 24/7 в фоновом режиме на сервере AIX и считывать из каналов, на которые системный журнал направляет журналы (из всей сети). В основном:
logs from network ----> named pipe A --------> | perl daemon
----> named pipe B --------> | * reads pipes
----> named pipe c --------> | * decides what to do based on which pipe
Так, например, я хочу, чтобы мой демон мог быть настроен наmail [email protected]
все журналы, которые записаны вnamed pipe C
, Для этого я предполагаю, что у демона должен быть хеш (новый для perl, но это похоже на соответствующую структуру данных), который можно было бы изменить на лету и сказать ему, что делать с каждым каналом.
Это возможно? Или я должен создать.conf
файл в/etc
держать информацию. Что-то вроде этого:
namedpipeA:'mail [email protected]'
namedpipeB:save:'mail [email protected]'
Так что получаю что-нибудь отA
будет отправлен по почте[email protected]
и все изB
будет сохранен в лог-файл (как обычно) и будет отправлен[email protected]
Поскольку я впервые использую Perl и впервые создаю демон, могу ли я это сделать, придерживаясьПОЦЕЛУЙ главный? Кроме того, есть ли какие-либо соглашения, которые я должен придерживаться? Если бы вы могли принять во внимание мой недостаток знаний при ответе, это было бы очень полезно.