GNU/Linux >> Znalost Linux >  >> Linux

Průběžně sledujte kmeny s ocasem, který se občas otočí

Řešení 1:

Aha, na tohle je vlajka.

místo použití tail -f /var/log/file měli bychom používat tail -F /var/log/file

tail -F překládá do tail --follow=name --retry jako v;

  • --follow=name :místo popisovače souboru následujte název souboru
  • --retry :pokud je soubor nepřístupný, zkuste to znovu později místo umírání

Řešení 2:

# tail --follow=mylog.log

Z mužského ocasu :

With --follow (-f), tail defaults to  following  the  file  descriptor,
       which  means that even if a tail’ed file is renamed, tail will continue
       to track its end.  This default behavior  is  not  desirable  when  you
       really want to track the actual name of the file, not the file descrip‐
       tor (e.g., log rotation).  Use --follow=name in that case.  That causes
       tail  to track the named file by reopening it periodically to see if it
       has been removed and recreated by some other program.

Takže v tomto případě pomocí -F možnost by byla správná.

-F     same as --follow=name --retry

Řešení 3:

Přesná odpověď závisí na vašem operačním systému – ale v mnoha případech tail -F udělá správnou věc.

Řešení 4:

tail -For tail --follow=name

Řešení 5:

IMHO je trochu divné měnit soubor protokolu podle VELIKOSTI, nikoli podle data. Většina systémových protokolů (v unixu nebo linuxu) se otáčí na týdenní nebo měsíční bázi, nikoli na základě velikosti...To je něco, co se mi líbí z různých důvodů a také něco, co by v případě implementace vyřešilo váš problém.

O osm let později nevím, o čem jsem tu sakra mluvil:existuje spousta míst, kde chcete rotovat podle velikosti, protože denní/týdenní/měsíční rotace může vést k MASIVNÍM souborům, které mohou způsobit vážné problémy.

Ze zkušenějšího pohledu je skutečnou otázkou, proč byste chtěli sedět a neustále sledovat soubor, který roste tak rychle, že jej otáčíte více než denně... Bylo by to jako sledovat stream Matrixu.

V dnešní době by bylo lepší podívat se na nějakou agregaci protokolů velkých dat, jako je Splunk nebo Sumologic, kde může filtrovat události protokolu do tříd a spouštět na základě konkrétních hodnot protokolu... Není třeba vůbec sledovat živé protokoly.


Linux
  1. Vypsat všechny adresáře, které nemají soubor s daným názvem souboru uvnitř?

  2. Upozornění s nftw

  3. logrotate nelze otáčet protokoly, dostává se Žádná taková chyba souboru

  1. Chování rsync se souborem, který se stále zapisuje?

  2. Průběžně rekurzivně detekujte nové soubory pomocí nástrojů inotify ve více adresářích

  3. Je bezpečné otevřít soubor, který je zapsán spuštěným skriptem?

  1. Sledovat, jak se něco zapisuje do souboru živě s ocasem

  2. Jaké jsou nejběžnější soubory ke kontrole pomocí softwaru pro monitorování integrity souborů?

  3. Odeberte soubory, které jsou uvedeny v textovém souboru