test.sh
#!/bin/bash
echo "Hello World"
test2.sh
#!/bin/bash
while true
do
sh test.sh >> /script_logs/test.log &
done
Chcę zaimplementować Logrotate, aby kontrolować rozmiar pliku dziennika, więc jak zaimplementować Logrotate, jeśli sytuacja jest taka jak powyżej?
cp
imv
czy mogę usunąć plik dziennika, to czy będzie to nowy plik dziennika o tej samej nazwie? (Moje wymaganie jest takie, że jeśli plik dziennika osiągnie określony limit, chcę usunąć ten plik dziennika, a następnie utworzyć nowy plik )>>
do dołączenia do pliku dziennika,>
będzie on zastępować go w kółko.>
, dostajętail: test.log: file truncated Hello World!
.... Jeśli używam>>
, otrzymuję prawidłowy komunikat w dzienniku, ale rozmiar pliku rośnie. Brak warunku sprawdzającego warunek ... ;-(co powiesz na używanie
savelog
?Jest dostępny w wersji debian i RH i praktycznie w każdej innej dystrybucji Linuksa, którą znam. Jest to skrypt powłoki / bin / sh, więc powinien działać również na każdym innym Uniksie.
np. przed napisaniem czegokolwiek do
test.log
uruchomieniasavelog -n -c 7 test.log
. Pozwoli to zachować 7 najnowszych niepustych wersji test.log. Domyślnie kompresuje obrócone dzienniki (ale można to wyłączyć za pomocą-l
).W razie potrzeby możesz sprawdzić rozmiar
test.log
i tylkosavelog
jeśli jest większy niż określony rozmiar.źródło
/usr/bin/savelog
skrypt powłoki można znaleźć pod adresem sources.debian.net/src/debianutils/4.7savelog
żadnego z moich urządzeń RHEL / CentOS 5/6, więc właśnie pobrałem go ad hoc i wydaje się, że działa dobrze dla moich potrzeb.savelog
jest to, że zmienia nazwę pliku, ale zanim skończą, gzipowanie starych zajmuje dużo czasu. Tymczasem dziennik .0 zawiera już wpisy na kolejne dni. Idealnie czas między obrotem kłody a sygnalizacją procesu ponownego otwarcia kłody powinien być minimalny. Zsavelog
tego powodu wyłączam funkcję kompresji.W ten weekend napisałem logrotę . Prawdopodobnie nie zrobiłbym tego, gdybym przeczytał świetną odpowiedź na
multilog
@ JdeBP .Skoncentrowałem się na tym, że jest lekki i jest w stanie bzip2 swoich fragmentów wyjściowych, takich jak:
Jednak jest jeszcze wiele do zrobienia i przetestowania.
źródło
Ponieważ nie mogę jeszcze dodać komentarzy do zaakceptowanej odpowiedzi , wskazówka BusyBox , gdzie
du
nie ma-b
flagi:źródło