Strona man logrotate
mówi, że:
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.
Jestem tym zmieszany. Jeśli nie można nakazać programowi, aby zamknął swój plik dziennika, będzie kontynuował pisanie w nieskończoność , nie na jakiś czas . Jeśli kompresja zostanie przełożona na następny cykl rotacji, program będzie kontynuował zapisywanie do tego pliku nawet po następnym cyklu rotacji. Jak odroczenie rozwiązania problemu?
Rozumiem, że copytruncate
należy tego użyć, gdy program nie może nakazać zamknięcia pliku dziennika. Wiem, że niektóre dane zapisane w pliku dziennika gubią się podczas kopiowania.
Patrzyłem na plik logrotate dla couchdb, który zawierał obie opcje copytruncate
i delaycompress
opcje.
/usr/local/couchdb-1.0.1/var/log/couchdb/*.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}
Wygląda na to, że nie ma sensu używać, delaycompress
kiedy copytruncate
już tam jest. czego mi brakuje?
copytruncate
, nie ma potrzeby, aby program zamykał swój plik dziennika. Czy to nie ma sensu określaćdelaycompress
wraz zcopytruncate
?copytruncate
chyba że absolutnie musisz, ponieważ traci wpisy w dzienniku. Możesz skorzystać z obu opcji, jeśli chcesz skorzystać z innej funkcjidelaycompress
- możliwości odczytu poprzedniego pliku dziennika bez konieczności jego wcześniejszej dekompresji.copytruncate
to, że nie mogę powiedzieć mojemu programowi, żeby przeładował?Nie jestem pewien, czy całkowicie rozumiem twoje pytanie, ale jeśli pytasz, co myślę ... Używam tego:
To dobry (lub przynajmniej) sposób na zabicie dziennika i przejście do następnego. W przypadku „programów”, które są do bani, takich jak platforma ASA firmy Cisco, które rejestrują mnóstwo danych na sekundę, działa.
źródło
Używamy:
Spowoduje to utworzenie stałej kopii apache
access_log
access_log.1
, abyśmy mogli następnie uruchomić nasz pakiet Stats jako skrypt na koniec dnia.Następnego dnia logrotate kompresuje tworzenie pliku
access_log.2.zip
źródło