Syslog-ng + zewnętrzny program obsługi zdarzenia ( było: Jak przechwycić takie zdarzenie?)

Łukasz Maśko masko w ipipan.waw.pl
Wto, 12 Sty 2010, 21:04:35 CET


Próbuję podpiąć się pod zdarzenie wynikające z podpięcia/odpięcia mojego 
laptopa do stacji dokującej. Ponieważ prawdopodobnie nie da się tego zrobić 
z poziomu ACPI (nie jest to zgłaszane jako zdarzenie ACPI przez 
/proc/acpi/event), próbuję podpiąć się pod akcje sysloga. Zarówno przy 
dokowaniu jak i oddokowaniu akcja jest prosta: ma przeładować moduł psmouse. 
Zrobiłem sobie prosty skrypt o takiej treści:

$ cat /usr/local/bin/dock_script
#!/bin/bash
modprobe -r psmouse
modprobe psmouse

Konfiguracja sysloga sprowadziła się do następujących zmian w /etc/syslog-
ng/syslog-ng.conf:

destination d_dock_s    { program("/usr/local/bin/dock_script");};
filter f_dock           { facility(kern) and match(".*docking" 
value("MESSAGE") ); };
log { source (src); filter(f_dock); destination(d_dock_s); };

Problem w tym, że po restarcie sysloga powyższa akcja się zapętla: w kółko 
mi odładowuje i ładuje moduł psmouse. Jeśli zamiast odpalać skrypt wyrzucam 
zdarzenia do pliku, komunikat jest w jednej kopii.

Czy ktoś mógłby mi pomóc poprawnie skonfigurować sysloga, żeby to zaczęło 
działać jak należy?
-- 
Łukasz Maśko                                           GG:   2441498    _o)
Lukasz.Masko(at)ipipan.waw.pl                                           /\\
Registered Linux User #61028                                           _\_V
Ubuntu: staroafrykańskie słowo oznaczające "Nie umiem zainstalować Debiana"


Więcej informacji o liście dyskusyjnej pld-users-pl