Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: Co s obřími logy v *buntu 20.04 LTS (a možná i jinde)  (Přečteno 146 krát)

JirkaZ

  • Stálý člen
  • ***
  • Příspěvků: 683
    • Zobrazit profil
Co s obřími logy v *buntu 20.04 LTS (a možná i jinde)
« kdy: 27 Červenec 2020, 22:56:51 »
Tímto příspěvkem navazuji na https://forum.ubuntu.cz/index.php/topic,85086.msg571864.html#msg571864 a předkládám workaround. Úmyslně to nazývám takhle, protože podle mě fakt není normální, aby systém za pár dnů vygeneroval kern.log a syslog o velikosti řádově 10GB... Jen ještě poznamenávám, že problém se projevil jak v Kubuntu 20.04 LTS, tak v Xubuntu 20.04 LTS (jiné odnože jsem netestoval).

Tedy: např. podle https://askubuntu.com/questions/184949/how-do-i-limit-the-size-of-my-syslog (sekce "Limit the size of the current syslog") se dá upravit velikost ukládaných logů. Funguje to tak, že pokud by velikost měla přesáhnout nastavenou mez (je udávána vždy v Byte), tak rsyslog už nic neukládá. Úpravy logrotate by v tomto případě moc nepomohly, protože je té bejkárně třeba zatnout tipec hned u kořene (prostě aby ty obří soubory vůbec nevznikaly)...

Konkrétní příklad pro omezení velikosti souborů kern.log a syslog na 1 MB (1048576 B):


Původní soubor etc/rsyslog.d/50-default.conf_original (takto se nazývá po přejmenování coby záložní a je zde pouze počáteční část, které se to týká):
Kód: [Vybrat]
#  Default rules for rsyslog.
#
# For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
#daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
#lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
#user.* -/var/log/user.log

Upravený soubor etc/rsyslog.d/50-default.conf (opět pouze počáteční část, které se to týká):
Kód: [Vybrat]
#  Default rules for rsyslog.
#
# For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
auth,authpriv.* /var/log/auth.log
$outchannel mysyslog,/var/log/syslog,1048576
*.*;auth,authpriv.none  :omfile:$mysyslog
#*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
#daemon.* -/var/log/daemon.log
$outchannel mykernlog,/var/log/kern.log,1048576
kern.*  :omfile:$mykernlog
#kern.* -/var/log/kern.log
#lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
#user.* -/var/log/user.log

Pro názornost je v příloze i screenshot z porovnávače (tam jsou vidět celé obsahy).

V praxi bych uvažoval o omezení velikosti na cca desítky až max. málo stovek MB. Ale: je to tak, že když je systém OK, tak logy mají stovky kB a naopak když není OK, tak rostou "nade všechny meze" a omezením výše se pouze předejde přeplnění HDD/SSD, logy samotné jsou spíš k ničemu...

Jiným možným řešením zcela "natvrdo" pak je odinstalace balíčku rsyslog, který zajišťuje logování. Ortodoxním linuxákům se to právem nebude líbit, ale upřímně řečeno na desktopu si člověk logy prohlíží jen málokdy (BFU vůbec nikdy), takže to za určitých okolností může být jednoduchá možnost, jak se zbavit potíží...
« Poslední změna: 28 Červenec 2020, 09:45:41 od JirkaZ »