Portál AbcLinuxu, 14. května 2025 03:07

Dotaz: Podivné logování, nefunguje logrotate

30.1.2008 14:58 gabriel
Podivné logování, nefunguje logrotate
Přečteno: 356×
Odpovědět | Admin
Ahoj,

na několika serverech s Debianem 4 se mi stává stejná a podivná věc.

Všechny systémové logy ve /var/log se logují do souborů s příponou .0 (třeba syslog.0) a "hlavní" soubor zůstává prázdný. Ještě divnější je, že když ty logy někam přesunu (do jiného adresáře), pořád se do nich loguje.

Když zrestartuji démony (klogd a spol.) tak se nic neděje, když zrestartuji celý systém (a ručně odmažu "staré" logy), tak se do prvního otočení logů vše loguje správně.

Problém je právě v tom, že se logy netočí, otočí se to jednou do .0 a potom už to jen narůstá v rámci jednoho souboru.

S logrotate.conf jsem ovšem nic nedělal, je tam původní konfigurace. Práva jsou také v pořádku.

Vzhledem k tomu, že mi to dělá i na novém systému na odděleném serveru , tak zvažuji, jestli to není nějaký bug.

Máte někdo takovouto zkušenost? Díky za rady!
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.1.2008 15:21 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Podivné logování, nefunguje logrotate
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě divnější je, že když ty logy někam přesunu (do jiného adresáře), pořád se do nich loguje.
To je vpořádku. Loguje se do nějakého souboru, který je určen např. číslem i-node. Název souboru v adresáři je jenom pojmenovaný odkaz na tenhle i-node. Když soubor „přesunete“ (v rámci jednoho souborového systému), se souborem se fyzicky nic nestane, jenom se přesune odkaz na něj někam jinam v adresářové struktuře. Když vytvoříte hardlink na příslušný soubor, vytvoří se jen další odkaz na daný soubor určený i-node (tj. pokud existují dva hardlinky na jeden soubor, znamená to, že dvě jména v adresářích odkazují na jedno i-node). Dokonce i kdybyste ten soubor smazal, program do něj bude logovat dál, jenom už byste neměl k souboru přístup odnikud ze souborového systému. A kdyby program logování ukončil a soubor zavřel, teprve pak by se soubor smazal (protože by na něj neexistoval žádný odkaz).

A možná to bude i důvod podivného rotování logů. Pro rotování je potřeba, aby logující program souboru uzavřel a otevřel si jej znova podle jména souboru (tím si otevře soubor, na který ukazuje jméno v adresáři, což už je nově vytvořený soubor). Buď se to dá zařídit tak, že se zrestartuje celá aplikace (např. Apache), nebo, pokud to aplikace umožňuje, se jí pošle nějaký signál, že si má např. znovu načíst konfiguraci (a při té příležitosti aplikace znovu otevře logovací soubor).

Ale to snad logrotate nebo jeho distribuční skripty dělají automaticky – každopádně bych se zaměřil na tohle. Tedy zda se během rotování logů příslušný program zrestartuje (nebo aspoň přenačte konfiguraci).

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.