Jest na to sposób?
Jest na to sposób?
Odpowiedzi:
W swoim pliku logrotate.conf (lub ekwiwalentnym pliku logrotate.d) zmień wiersz z napisem „
rotate 10
(Twój numer może być inny) na większą liczbę. To pozwoli mu zachować tyle dni dzienników. Możesz zrobić to 36500, co potrwa 100 lat.
Szukałem tego, aby rotować kopie zapasowe moich baz danych codziennie, co tydzień i co miesiąc; więc obracam plik codziennie, ale zachowuję plik, aby wykonać rotację tygodniową, i to samo dla rotacji rocznej.
Użyj opcji kopiowania. Z instrukcji:
copy
kopia Wykonaj kopię pliku dziennika, ale nie zmieniaj wcale oryginału. Tej opcji można użyć na przykład do utworzenia migawki bieżącego pliku dziennika lub gdy jakieś inne narzędzie wymaga obcięcia lub parsowania pliku. Gdy ta opcja jest używana, opcja tworzenia nie przyniesie żadnego efektu, ponieważ stary plik dziennika pozostaje na swoim miejscu.
Odkładając na bok punkt, w którym obrót wymaga usunięcia ... ;-)
Wygląda na to, że możesz po prostu dodać słowo „kopiuj” do odpowiedniego pliku (prawdopodobnie w /etc/logrotate.d). Na przykład skrypt logrotate apache2 wyglądałby tak:
/var/log/apache2/*.log { tygodniowo missingok obróć 52 kompres delaycompress notifempty Kopiuj skrypty współdzielone postrotate if [-f "`. / etc / apache2 / envvars; echo $ {APACHE_PID_FILE: - / var / run / apache2.pid} `"]; następnie /etc/init.d/apache2 reload> / dev / null fi endcript }
Wypróbuj to i sprawdź, czy robi to, co chcesz.