Portál AbcLinuxu, 10. května 2025 03:22

Dotaz: syslog

22.11.2006 15:29 kafi | skóre: 25 | blog: muj_prvni_blog
syslog
Přečteno: 275×
Odpovědět | Admin
Pekny den, parsuju co 10 minut soubor /var/log/syslog a pri parsovani hazim potrebna data do DB a dalsi do souboru xxx. Pak az se dokonci parsovani tak prejmenuju ten xxx na syslog s patricnymi pravy. Ale problem je v tom, ze syslogd prestane zapisovat do syslogu a jde to az po restartu daemona. A tot je ma otazka. Nejde to nejak jinak abych nemusel co 10 minut rebootnout syslog demona?

powered by slackware
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.11.2006 15:41 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: syslog
Odpovědět | | Sbalit | Link | Blokovat | Admin
Asi mu ho "bereš pod rukama" a to se mu nelíbí. Jedno řešení: Tak mu ho neber a zkus parsovat log třeba průběžně (pomocí tail , while , read , atd.). Ale možná zde dostaneš i lepší návrh ...
22.11.2006 15:43 Masca
Rozbalit Rozbalit vše Re: syslog
Odpovědět | | Sbalit | Link | Blokovat | Admin
No, on syslog démon do toho původního souboru dál zapisuje, jenom se už na něj nedá dosáhnout z filesystému. Démon totiž soubor neotevírá znovu pro každý záznam, ale drží ho otevřený pořád.

Syslog (nebo aspoň syslog-ng) po signálu HUP přečte znovu svou konfiguraci a znovu otevře všechny soubory. Po přejmenování je tedy třeba ještě kopnout do syslogu. Je tu ale šance, že se některé zprávy ztratí mezi okamžikem přejmenování a znovuotevřením souboru.

Hledal bych nějaké koncepčnější řešení, je opravdu nutné, aby se starý soubor přemazal tím vyfiltrovaným? Co takhle spojování vyfiltrovaných údajů do nějakého jiného souboru a chytře nastavený logrotate?
22.11.2006 16:06 xxl
Rozbalit Rozbalit vše Re: syslog
Odpovědět | | Sbalit | Link | Blokovat | Admin
Také můžete změnit celou koncepci logování. Nainstalujte si runit a socklog.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.