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!