GNU/Linux >> Znalost Linux >  >> Linux

Nakonfigurujte logrotate na Redhat Linuxu

Logrote je nástroj určený pro správce, kteří spravují servery, které produkují velké množství souborů protokolu. Pomáhá jim to ušetřit místo na disku a také se vyhnout potenciálnímu riziku, že systém přestane reagovat kvůli nedostatku místa na disku.

Běžným řešením, jak se tomuto druhu problému vyhnout, je nastavení samostatný oddíl nebo logický svazek pro /var montážní bod. Logrotate však může být také schůdným řešením tohoto problému, zvláště pokud je příliš pozdě přesunout všechny protokoly pod jiný oddíl.

V tomto tutoriálu si ukážeme, jak nakonfigurovat službu logrotate na Red Hat Enterprise Linux, abyste mohli vzít soubory protokolu zpět pod svou kontrolu.

V tomto tutoriálu se naučíte:

  • Jak používat nástroj logrotate na RHEL
  • Kde jsou uloženy konfigurační soubory logrotate
  • Jak nastavit vlastní konfiguraci logrotate
  • Jak otestovat implementaci logrotate
Softwarové požadavky a konvence příkazového řádku Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém Red Hat Enterprise Linux
Software logrotovat
Jiné Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Co je logrotate?


Logrotate poskytuje správci systému možnost systematicky střídat a archivovat jakékoli soubory protokolu vytvořené systémem, a tak snižovat požadavky operačního systému na místo na disku. Ve výchozím nastavení se logrotate vyvolává jednou denně pomocí plánovače cron z umístění /etc/cron.daily/ .

# ls /etc/cron.daily/
cups  logrotate  makewhatis.cron  mlocate.cron  prelink  readahead.cron  rhsmd  tmpwatch

Konfigurace logrotate

Konfigurace Logrotate se provádí úpravou dvou samostatných konfiguračních souborů:

  • /etc/logrotate.conf
  • soubory konfigurace specifické pro službu uložené v /etc/logrotate.d/

Hlavní logrotate.conf soubor obsahuje obecnou konfiguraci. Zde je výchozí konfigurační soubor logrotate logrotate.conf :

  weekly
  rotate 4
  create
  dateext
  include /etc/logrotate.d
  /var/log/wtmp {
      monthly
      create 0664 root utmp
          minsize 1M
      rotate 1
  }
  • Řádek 1 – týdně konfigurační volba zajišťuje týdenní rotaci všech log-souborů definovaných v hlavním konfiguračním souboru a v adresáři /etc/logrotate.d/.
  • Řádek 2 – otočte 4 zajišťuje, že logrotate uchovává 4týdenní zálohu všech souborů protokolu
  • Řádek 3 – vytvořit volba přikazuje logrotate vytvořit nové prázdné soubory protokolu po každém otočení
  • Řádek 4 – dateext připojí ke všem rotovaným souborům protokolu příponu ve formě data, kdy byl každý konkrétní soubor protokolu zpracován logrotate
  • Řádek 5 – zahrnout všechny ostatní konfigurace z adresáře /etc/logrotate.d
  • Řádek 6 – 11 obsahuje konkrétní konfiguraci rotace protokolu služby

Na rozdíl od logrotate.conf , adresář /etc/logrotate.d/ obsahuje specifické konfigurační soubory služby používané logrotate. V další části vytvoříme ukázkovou konfiguraci logrotate kostry.

Včetně nových protokolů služeb k logrotate

V této sekci přidáme nový soubor protokolu do konfigurace logrotate. Řekněme, že máme soubor protokolu s názvem /var/log/linuxserver.log , sedící v našem /var/log adresář, který je třeba denně střídat.

Nejprve musíme vytvořit nový konfigurační soubor logrotate, který se přizpůsobí našemu novému souboru protokolu:

# vi /etc/logrotate.d/linuxserver

Do /etc/logrotate.d/linuxserver vložte následující text:

/var/log/linuxserver.log {
        rotate 7
        daily
        compress
        delaycompress
        missingok
        notifempty
        create 660 linuxuser linuxuser }

Tento konfigurační soubor poběží denně, vytvoří maximálně 7 archivů vlastněných linuxuser a linuxuser group s oprávněními 660, komprimuje všechny protokoly a vyloučí pouze včerejší a prázdné soubory protokolu. Zde jsou některá vybraná klíčová slova konfigurace logrotate. Úplný návod najdete na manuálové stránce logrotate.

denně Soubory protokolu se střídají každý den.
týdně Soubory protokolů se otočí, pokud je aktuální den v týdnu menší než den v týdnu poslední rotace nebo pokud od poslední rotace uplynul více než týden. To je obvykle stejné jako rotace protokolů první den v týdnu, ale pokud logrotate není spuštěno každou noc, rotace protokolu proběhne při první platné příležitosti.
měsíčně Soubory protokolu se otočí při prvním spuštění logrotate v měsíci (normálně je to první den v měsíci).
notifempty Neotáčejte protokol, pokud je prázdný (toto přepíše možnost ifempty).
nocompress Staré verze souborů protokolu nejsou komprimovány.
delaycompress Odloží kompresi předchozího souboru protokolu na další cyklus rotace. To má efekt pouze při použití v kombinaci s kompresí. Lze jej použít, když některému programu nelze říci, aby zavřel svůj soubor protokolu, a proto může nějakou dobu pokračovat v zápisu do předchozího souboru protokolu.
komprimovat Staré verze souborů protokolu jsou standardně komprimovány pomocí gzip.
e-mailová adresa Když protokol otočí a neexistuje, je odeslán na adresu. Pokud by určitý protokol neměl generovat žádnou poštu, lze použít direktivu nomail.
chybějící Pokud soubor protokolu chybí, přejděte k dalšímu bez zobrazení chybové zprávy.

Jakmile bude váš konfigurační soubor připraven, jednoduše jej zkopírujte do adresáře logrotate a změňte vlastníka a oprávnění:

# cp linuxserver /etc/logrotate.d/
# chmod 644 /etc/logrotate.d/linuxserver
# chown root.root /etc/logrotate.d/linuxserver

Testování nové konfigurace Logrotate

Nyní, když byla implementována konfigurace logrotate, otestujte ji podle níže uvedených kroků.

  1. Vytvořte nějaký ukázkový soubor protokolu, pokud ještě neexistuje:
    # echo "rotate my log file" > /var/log/linuxserver.log
    
  2. Jakmile je soubor protokolu na svém místě, vynucení rotace logrotate otáčí všechny protokoly pomocí -f volba.
    # logrotate -f /etc/logrotate.conf
    

    Upozornění:Výše ​​uvedený příkaz otočí všechny vaše protokoly definované v /etc/logrotate.d adresář.

  3. Nyní znovu navštivte svůj adresář /var/log/ a potvrďte, že váš soubor protokolu byl otočen a byl vytvořen nový soubor protokolu.

Úvahy na závěr

Jak již bylo zmíněno dříve, nejlepším způsobem, jak zabránit zanášení systému soubory protokolu, je vytvořit samostatný oddíl/logický svazek pro váš /var/ nebo ještě lépe /var/log adresář. Nicméně i potom vám logrotate může pomoci ušetřit místo na disku komprimací souborů protokolu. Logrotate vám také může pomoci archivovat vaše soubory protokolu pro budoucí použití vytvořením další kopie nebo zasláním nově otočených souborů protokolu e-mailem.


Linux
  1. Jak zkontrolovat verzi Redhat

  2. Nakonfigurujte výchozí virtuální úložiště KVM v systému Redhat Linux

  3. Změňte časovač linuxového jádra

  1. Jak nakonfigurovat virtualizaci na Redhat Linuxu

  2. Rychlá konfigurace serveru NFS na systému Redhat 7 Linux

  3. Jak nakonfigurovat LVM na Linux / CentOS / Redhat

  1. Jak nakonfigurovat úložiště YUM v Linux/Centos/Redhat | YUM v Linuxu/Centos/Redhat

  2. Příklady příkazů logrotate v Linuxu

  3. Instalace Maven 3.0.5 v RedHat Linuxu