dlaczego drugie pliki dziennika w katalogu / var / log nie są kompresowane

12

logi /var/log/(Debian / Ubuntu) są przechowywane jako

x.log
x.log.1
x.log.2.gz
...

takie jak dzienniki jądra, syslog itp.

Widzę, że wraz ze wzrostem informacji w dzienniku są one przechowywane przez podział na mniejsze pliki (zamiast trzymania wszystkich w jednym pliku). Zastanawiam się, dlaczego drugi plik ( x.log.1) nie jest skompresowany? Czy ma to coś wspólnego z łatwiejszym dostępem do najnowszych dzienników?

Angs
źródło

Odpowiedzi:

12

Zgadzam się z tobą, że powinien to zapewnić jedynie łatwiejszy dostęp do najnowszych plików. W każdym razie o faktycznym zachowaniu decyduje dyrektywa logrotate „delaycompress”, która mówi „nie kompresuj pliku podczas obracania, ale kompresuj go następnym razem”.

Historyczny powód można znaleźć w podręczniku logrotate:

Postpone  compression of the previous log file to the next rotation 
cycle.  This has only effect when used in combination  with compress. 
It can be used when some program can not be told to close its logfile and 
thus might continue writing to the  previous log file for some time.
użytkownik1293137
źródło
1
„(...) gdy nie można nakazać programowi natychmiastowego zamknięcia pliku dziennika, a tym samym (...)”. Znalazłem tę precyzję w poście o błędzie serwera .
Ludovic Kuty,
5

Tak, odbywa się to w celu ułatwienia dostępu do najnowszych plików dziennika. delaycompressKontroluje to opcja logrotate . Z strony podręcznika Logrotate:

delaycompress

Postpone compression of the previous log file to the next rotation cycle.  
This only has effect when used in combination with
compress.  It can be  used  when  some  program
cannot be told to close its logfile and thus might 
continue writing to the previous log file for some time.
Jordan
źródło
4
Te opcje są używane w plikach pod /etc/logrotate.confi /etc/logrotate.d/*.
slm