The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как ПРИостановить SyslogD а потом опять запустить?"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от black_cat emailИскать по авторуВ закладки on 28-Ноя-03, 10:15  (MSK)
Или чтобы определенное правило не писалось в логи вообще
к примеру ipfw: rule xxxx cleared.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от lavr emailИскать по авторуВ закладки on 28-Ноя-03, 10:41  (MSK)
>Или чтобы определенное правило не писалось в логи вообще
>к примеру ipfw: rule xxxx cleared.

man syslogd (свою конфигурацию он перечитывает по сигналу SIGHUP)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от black_cat emailИскать по авторуВ закладки on 28-Ноя-03, 13:13  (MSK)
>man syslogd (свою конфигурацию он перечитывает по сигналу SIGHUP)

а мне не надо перечитывать конфигурацию
просто чтобы при ipfw zero 123
ничего в логи не писалось.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от Brainbug Искать по авторуВ закладки on 28-Ноя-03, 14:25  (MSK)
>>man syslogd (свою конфигурацию он перечитывает по сигналу SIGHUP)
>
>а мне не надо перечитывать конфигурацию
>просто чтобы при ipfw zero 123
>ничего в логи не писалось.


Смотри описания сигналов.
     SIGSTOP         stop process            stop (cannot be caught or
                                             ignored)
     SIGTSTP         stop process            stop signal generated from
                                             keyboard
     SIGCONT         discard signal          continue after stop

Правда не знаю как себя поведёт syslogd если подольше будет находиться в остановленном состоянии.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от black_cat emailИскать по авторуВ закладки on 28-Ноя-03, 15:01  (MSK)
>Правда не знаю как себя поведёт syslogd если подольше будет находиться в
>остановленном состоянии.

клас! работает!
kill -s STOP
... делаю все че хочу без логов
kill -s CONT

а может ктонить знает как послать сигнал процессу из Си ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от lavr emailИскать по авторуВ закладки on 28-Ноя-03, 15:06  (MSK)
>>Правда не знаю как себя поведёт syslogd если подольше будет находиться в
>>остановленном состоянии.
>
>клас! работает!
>kill -s STOP
>... делаю все че хочу без логов
>kill -s CONT
>
>а может ктонить знает как послать сигнал процессу из Си ?

man signal (все что нужно вытащишь из него и внизу из related man's)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от Brainbug Искать по авторуВ закладки on 28-Ноя-03, 15:12  (MSK)
>>Правда не знаю как себя поведёт syslogd если подольше будет находиться в
>>остановленном состоянии.
>
>клас! работает!
>kill -s STOP
>... делаю все че хочу без логов
>kill -s CONT
>
>а может ктонить знает как послать сигнал процессу из Си ?

man 3 signal

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от black_cat emailИскать по авторуВ закладки on 28-Ноя-03, 15:30  (MSK)
Облажался!
не работает !

делаю
kill -s STOP
... делаю все че хочу без логов
kill -s CONT
после этого все че я наделал кучей появляется в логах
видать (точно про это читал гдето) в ядре есть встроенная очередь сообщений для любых программ типа syslogd

ЧЕ ДЕЛАТЬ? как потереть эту очередь?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от Brainbug Искать по авторуВ закладки on 28-Ноя-03, 16:25  (MSK)
>Облажался!
>не работает !
>
>делаю
>kill -s STOP
>... делаю все че хочу без логов
>kill -s CONT
>после этого все че я наделал кучей появляется в логах
>видать (точно про это читал гдето) в ядре есть встроенная очередь сообщений
>для любых программ типа syslogd
>
>ЧЕ ДЕЛАТЬ? как потереть эту очередь?

Думаю что так просто как кажется тебе это не удасться без "хирургического" вмешательства.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от black_cat emailИскать по авторуВ закладки on 28-Ноя-03, 16:33  (MSK)
>Думаю что так просто как кажется тебе это не удасться без "хирургического"
>вмешательства.

я готов сделать трепанацию аппендицита :-)

точнее я уже ковыряю исходники syslogd
но должна быть какаято возможность
Хотябы на секундочку стать сислогом вычитать оттуда соощения и вернуть все в исходное состояние.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от Brainbug Искать по авторуВ закладки on 28-Ноя-03, 17:05  (MSK)
>>Думаю что так просто как кажется тебе это не удасться без "хирургического"
>>вмешательства.
>
>я готов сделать трепанацию аппендицита :-)
>
>точнее я уже ковыряю исходники syslogd
>но должна быть какаято возможность
>Хотябы на секундочку стать сислогом вычитать оттуда соощения и вернуть все в
>исходное состояние.

Я чесно скажу не знаю по какому принципу рабоет эта очередь. Но теоретически скажем когда ты посылаешь сигнал его можно отловить и обработать. Там в исходниках syslogd есть примеры обработки сигналов. Так вот повесь свою процедуру на сигнал SIGUSER1 и скажем сделай так что все записи syslog, которые были ассоциированы с каждым файлом все писались бы скажем в /dev/null.

Не знаю, так вот где-то.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от bkack cat emailИскать по авторуВ закладки on 28-Ноя-03, 23:53  (MSK)
>Так вот повесь
>свою процедуру на сигнал SIGUSER1 и скажем сделай так что все
>записи syslog, которые были ассоциированы с каждым файлом все писались бы скажем в /dev/null.

Ох. Это для меня сильно круто - сделать свою процедуру обработки.
Я бы с удовольствием нашел где syslogd делает непосредственно запись строки в файл лога и на месте с ней разобрался
но все никак не могу найти этот кусок кода в исходниках.
Може подскажете ?
(freebsd 4.7)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от Brainbug Искать по авторуВ закладки on 01-Дек-03, 16:36  (MSK)
>>Так вот повесь
>>свою процедуру на сигнал SIGUSER1 и скажем сделай так что все
>>записи syslog, которые были ассоциированы с каждым файлом все писались бы скажем в /dev/null.
>
>Ох. Это для меня сильно круто - сделать свою процедуру обработки.
>Я бы с удовольствием нашел где syslogd делает непосредственно запись строки в
>файл лога и на месте с ней разобрался
>но все никак не могу найти этот кусок кода в исходниках.
>Може подскажете ?
>(freebsd 4.7)

Насколько я понял Syslogd вообще ничего не знает ни о каких очередях ни о чём либо подобном (может я чего-то не усмотрел в коде). Он просто открывает файлы (/dev/log и т.д.) берёт оттуда информацию закрывает их и потом рассовывает информацию по файлам в соответствии со своим  конфиг. файлом. По моему так.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Как ПРИостановить SyslogD а потом опять запустить?"
Сообщение от black_cat emailИскать по авторуВ закладки on 08-Дек-03, 15:18  (MSK)
Отвечу сам себе раз никому пока не интересно.

нужно немного пропатчить исходник syslogd
в syslogd.c
в самом конце функции printsys
находим logmsg(pri, p, LocalHostName, flags);
заменяем на
/*(Vadik patch begin) */
  if ( (strstr(p,"Entry")!=NULL) &&
       (strstr(p,"cleared.")!=NULL)) {
   // ipfw really cleared. Do something if need
  } else
  {
    logmsg(pri, p, LocalHostName, flags);
  }
/*(Vadik patch end) */
это запретит появлению в логах сообщения Entry xxx cleared.

Вышесказанное справедливо для FreeBSD 4.7

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру