GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak zabránit tomu, aby protokoly byly příliš velké?

Mám cronjob, který spouští některé skripty Pythonu a generuje masivní soubor protokolu. Jak zabráním tomu, aby se tak zvětšily? Bylo by perfektní, kdyby byl soubor smazán, jakmile dosáhne určité velikosti. Protože každých pár dní má soubor nyní 50 MB, ale mnohem větší a trvá věčnost, než se stáhne a analyzuje chyba na pomalém internetovém připojení. Opravdu chci vidět jen těch posledních 1000 řádků, abych viděl, kde se skript pokazil.

Vím, že bych mohl něco naprogramovat, abych to udělal, ale jen mě zajímalo, jestli Linux nemá něco, o čem jsem nevěděl. Představuji si, že velké soubory protokolu jsou běžným problémem. Děkuji.

Přijatá odpověď:

Obvykle byste měli zaznamenat pouze aktivitu, která vás zajímá, a měli byste program nakonfigurovat tak, aby byl pokud možno méně podrobný.

Jak bylo navrženo, pomocí logrotate je obvyklý způsob práce se soubory protokolu. Ale místo přidávání obsahu do /etc/logrotate.conf měli byste přidat svou vlastní úlohu do /etc/logrotate.d/ , jinak byste se museli během aktualizací vydání podívat na více rozdílů v konfiguračních souborech.

Zde je příklad, který jsem vytvořil pro skript php:

/var/log/some-php-app/*.log {
        daily
        rotate 10
        delaycompress
        compress
        notifempty
        missingok
}
  • /var/log/some-php-app/*.log – Je cesta, kde jsou umístěny soubory protokolu a jejich název. Jak vidíte, můžete také použít zástupné znaky k aplikování pravidla na více než jeden soubor protokolu.
  • denně – Denně otáčí soubory protokolu. Alternativy:hodinová, týdenní, měsíční, roční, maxsize, maxage
  • otočit počet – Soubory se před odstraněním nebo odesláním na adresu uvedenou v direktivě pro poštu několikrát střídají.
  • delaycompress – Odloží kompresi předchozího souboru protokolu na další cyklus rotace.
  • komprimovat – Komprimuje staré verze souborů protokolu pomocí gzip. Můžete použít zless místo less pro zobrazení souborů.
  • notifempty – Neotáčí protokol, pokud je prázdný.
  • chybějící – Pokud chybí soubor protokolu, přejde k další úloze rotace bez zobrazení chybové zprávy.

Podívejte se na manuálovou stránku logrotate, kde najdete další možnosti.


Ubuntu
  1. Jak číst proměnnou ze souboru?

  2. Tweak usnadnění:Jak zabránit tomu, aby se náhodně vybraný text při psaní nahradil?

  3. /var/log/account/pacct je příliš velký, kde je Ckpacct (pro Cicle/gzip)?

  1. Jak tisknout z Vim do Pdf?

  2. Jak vyprázdnit soubor protokolu v Linuxu

  3. Jak odstranit heslo ze souboru pdf v Ubuntu

  1. Jak se okamžitě odhlásit z Ubuntu z terminálu

  2. Jak vytvořit soubor .img z .iso na Ubuntu?

  3. Jak se install -c liší od cp