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