Geek Stuff ma przykład na ten temat logrotate
. copytruncate
skopiuje i obcina oryginalny plik dziennika.
Dlaczego więc powinniśmy skorzystać create
? Oryginalny plik dziennika nie został usunięty.
/tmp/output.log {
size 1k
copytruncate
create
compress
compresscmd /bin/bzip2
compressext .bz2
rotate 4
maxage 100
}
Kolejne pytanie brzmi: do czego służy maxage 100
? rotate 4
Dyrektywa usunie stare pliki dziennika po 4 obrotu.
man logrotate
nawet mówi tak: „ copytruncate : [...] Gdy ta opcja jest używana, opcja tworzenia nie przyniesie żadnego efektu, ponieważ stary plik dziennika pozostaje na swoim miejscu”.maxage 100
usunie obrócone pliki, gdy osiągną wiek ponad 100 dni, a bieżący plik zostanie obrócony; nawet jeśli4
istnieje mniej niż pliki obrócone.Odpowiedzi:
Jest to prawdopodobnie błąd, który można znaleźć tylko w jednym przykładzie tego samouczka. Wszystkie inne przykłady mają
copytruncate
bezcreate
opcji. Równieżlogrotate
strona podręcznika stwierdza, że zostanie zignorowana :Jeśli chodzi o
maxage
, myślę, że może być przydatny na przykład dla plików dziennika, które mogą być puste przez kilka okresów rotacji (dni / tygodnie / miesiące) - jeśli użyjesznotifempty
, pusty plik dziennika nie zostanie obrócony, więc możesz mieć zbyt stare obrócone pliki na miejscu .źródło