Korzystałem z tego linku , aby zmienić dziennik -rotate configuration for RHEL 6
Po dokonaniu zmiany w pliku konfiguracyjnym, co mam zrobić, aby to odniosło skutek?
Odpowiedź
logrotate
używa do pracy crontab
. To zaplanowana praca, a nie demon, więc nie ma potrzeby ponownego ładowania jej konfiguracji.
Kiedy crontab
wykonuje logrotate
, automatycznie użyje nowego pliku konfiguracyjnego.
Jeśli chcesz przetestować konfigurację, możesz również samodzielnie wykonać logrotate
, używając polecenia:
logrotate /etc/logrotate.d/your-logrotate-config
Lub jak wspomniano w komentarzach, zidentyfikuj wiersz odwołaj się do odpowiedzi slm , aby uzyskać dokładne wyjaśnienie cron.daily logrotate
w danych wyjściowych polecenia crontab -l
i wykonaj wiersz poleceń
Komentarze
Odpowiedź
Większość logrotate
, które widziałem w różnych dystrybucjach, wyczerpały się z /etc/cron.daily
. Jest tam skrypt powłoki o trafnej nazwie logrotate
.
Przykład
$ ls -l /etc/cron.daily/logrotate -rwxr-xr-x 1 root root 180 May 18 2011 /etc/cron.daily/logrotate
Uruchomienie ręczne
Jeśli chcesz, aby było uruchamiane ręcznie, po prostu uruchom skrypt jako root:
$ sudo /etc/cron.daily/logrotate
Jeśli spojrzysz na skrypt, który zazwyczaj tam jest, pokazuje on, jak możesz również uruchomić logrotate
ręcznie, po prostu uruchamiając logrotate
+ ścieżkę do pliku konfiguracyjnego.
#!/bin/sh /usr/sbin/logrotate /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" fi exit 0
Odpowiedz
Powinno to nastąpić automatycznie za pośrednictwem crona. Możesz wymusić na nim przetestowanie zmian.
Dla globalnego logrotate:
sudo logrotate -v -f /etc/logrotate.conf
Dla pojedynczego pliku konfiguracyjnego:
sudo logrotate -v -f /etc/logrotate.d/someapp.conf
Komentarze
-
-f
dla rotacji siły, istnieje również-d
do debugowania, który jest również próbą uruchomienia, wydrukuje wszystko, co zrobiłby, ale w rzeczywistości tego nie zrobi.
Odpowiedź
Na moim komputerze z CentOS 6.5 do skonfigurowania logrotatefor nginx musiałem to zrobić:
logrotate /etc/logrotate.d/nginx
A potem sprawdziłem, czy logrotate zajmuje się moją nową konfiguracją nginx w następujący sposób:
cat /var/lib/logrotate.status
logrotate
ma być uruchamiany raz dziennie.logrotate
ma-d
opcja testowania (lub " debugowanie "), ja ' d zalecamy uruchomienie go przynajmniej raz z tym.su root syslog
. Co powoduje zatrzymanie programu logrotate, gdy nie jest dodany. Aby dopełnić frustrację ludzi ', kiedy dodają dyrektywę, a następnie uruchamiają (wymuszają) logrotate, nadal wypluwają "error: skipping "/var/log/syslog" because parent directory has insecure permissions (It's world writable or writable by group which is not "root" ...
" przez 20 godzin po zmianie konfiguracji, tak jakby ustawienia / proces są buforowane !? Jeśli tam utkniesz, chgrp na / var / log do roota, uruchom logrotate, chgrp z powrotem do syslog. Wyjaśni to przy następnym uruchomieniu