GNU/Linux >> Znalost Linux >  >> Linux

Správa protokolů pomocí Logrotate na Ubuntu

Výkon prostředí počítače nebo serveru velmi závisí na systémové paměti a využití disku. Pokud něco spotřebovává více místa na disku, povede to k systémové chybě. Podobně musí být řízena zvětšující se velikost souboru protokolu, aby se toto riziko snížilo.

Logrotate byl představen jako systémový nástroj, který otáčí, komprimuje soubory protokolu a posílá systémové protokoly e-mailem. Taková správa souborů protokolu snižuje využití místa na disku a zabraňuje systémovým chybám.

V tomto článku budeme diskutovat o procesu instalace a konfiguraci logrotate na serveru Ubuntu 20.04 LTS.

Instalace Logrotate na serveru Ubuntu 20.04

Na Ubuntu je logrotate nainstalováno ve výchozím nastavení, ale v případě, že není nainstalováno, můžete jej nainstalovat pomocí příkazu, jak je uvedeno níže.

$ sudo apt update 
$ sudo apt install logrotate

Instalaci můžete potvrdit příkazem uvedeným níže.

$ logrotate --version

Konfigurační soubory Logrotate

Konfigurační soubor pro logrotate je vytvořen démonem logrotate. Pro takovou konfiguraci existují dvě cesty, jak je uvedeno níže.

/etc/logrotate.conf

Je to konfigurační soubor obecně vytvořený pro obslužný program logrotate

/etc/logrotate.d/

Je to adresář sestávající ze specifické rotace aplikací. Ve výchozím nastavení se používá /etc/logrotate.conf, ale pro každou aplikaci, která má jinou konfiguraci, ji lze nastavit na /etc/logrotate.d/.

Výchozí konfigurační soubor Logrotate

Jak jistě víte, /etc/logrotate.conf je výchozí konfigurační soubor. Podívejme se na konfigurační soubor, jak je znázorněno na snímku obrazovky níže.

Zkontrolujte konfigurační soubor pomocí příkazu, jak je uvedeno níže.

$ cat /etc/logrotate.conf

Výstup:

Konfigurace pro konkrétní aplikaci

Na výše uvedeném snímku obrazovky je konfigurace jako include /etc/logrotate.d což znamená, že v tomto adresáři lze nastavit konfiguraci pro konkrétní aplikace. Zde ukážeme konfiguraci pro dpkg, jak je uvedeno níže.

$ cd /etc/logrotate.d/
$ cat dpkg

Chcete-li získat podrobnosti o každém řádku konfigurace, zkontrolujte body uvedené níže. Tyto konfigurace nahradí výchozí konfiguraci /etc/logrotate.conf pro konkrétní aplikace, jako je dpkg.

  • měsíčně:Střídat jednou za měsíc. Můžete jej nahradit denním, týdenním podle vašich požadavků.
  • otočit 12:Bude zachováno 12 starých souborů protokolu. Nahrazuje výchozí 4 na /etc/logrotate.conf
  • komprimovat:soubory protokolu pro tuto aplikaci budou komprimovány pomocí gzip
  • delaycompress:komprese předchozího souboru protokolu do dalšího cyklu rotace je odložena, protože je stále používán některým programem.
  • missingok:Pokud soubor protokolu chybí, nepište žádnou chybovou zprávu
  • notifempty:Neotáčejte soubor protokolu, pokud je prázdný
  • vytvořit 644 root root:Soubor protokolu je vytvořen s oprávněním 644, s uživatelem a skupinou jako root

Vytvoření konfiguračního souboru Logrotate

Řekněme, že jste nainstalovali aplikaci jako nginx a její soubor protokolu je vytvořen na /var/log/nginx/ pak můžete nastavit konfigurační soubor logrotate pro tuto konkrétní aplikaci pomocí příkazu, jak je uvedeno níže.

Přejděte do adresáře logrotate

$ cd /etc/logorate.d/

Vytvořte soubor logrotate pomocí editoru

$ vim nginx

/var/log/nginx/*.log {
   daily
   missingok
   rotate 14
   compress
   delaycompress
   notifempty
   create 0640 www-data adm
   sharedscripts
   prerotate
   if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
      run-parts /etc/logrotate.d/httpd-prerotate; \
   fi \
   endscript
   postrotate
   invoke-rc.d nginx rotate >/dev/null 2>&1
   endscript
}

Ve výše uvedené konfiguraci jsme nastavili rotaci na 14, takže bude zachováno 14 starých souborů protokolu a soubor protokolu je komprimován pomocí gzip. Další konfigurace použitá ve výše uvedeném souboru je téměř vysvětlena v části konfiguračního souboru logrotate. Nově vytvořenou konfiguraci můžete spustit s uživatelem s oprávněním sudo, jak je uvedeno níže.

$ sudo logrotate -d /etc/logrotate.d/nginx

Zde se spouštějí soubory protokolu, jak je znázorněno na snímku obrazovky níže.

Logrotujte pomocí cronu

Při instalaci balíčku logrotate se v procesu uvnitř /etc/cron.daily vytvoří také soubor crontab s názvem logrotate. Další podrobnosti naleznete na snímku obrazovky, jak je uvedeno níže.

$ cat /etc/cron.daily/logrotate

Závěr

V tomto článku jste se naučili, jak nainstalovat balíček logrotate a zkontrolovat výchozí a konkrétní konfigurační soubor aplikace pro logrotate s implementací crontab. Děkuji!


Linux
  1. Konfigurační soubor databáze Magento 2

  2. Jak používat Logrotate ke správě protokolů na Ubuntu

  3. Jak na to:Správa systémových protokolů pomocí Journalctl

  1. Filtrujte a optimalizujte požadavky na statické soubory pomocí NGINX na Ubuntu 18.04

  2. Programování Prolog v Ubuntu

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

  1. Správa instalace bezhlavého VirtualBoxu pomocí phpvirtualbox (Ubuntu 16.04 LTS)

  2. Jak nainstalovat soubor deb v Ubuntu (s příklady)

  3. Logrotate neodstraní staré protokoly