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 logrotate w danych wyjściowych polecenia crontab -l i wykonaj wiersz poleceń odwołaj się do odpowiedzi slm , aby uzyskać dokładne wyjaśnienie cron.daily

Komentarze

  • Aby dodać do odpowiedzi, wpis cron dla logrotate ma być uruchamiany raz dziennie.
  • @Ketan, więc jak mogę to od razu zmienić? dzięki
  • Jeśli chcesz, aby od razu zaczęło obowiązywać, uruchom posłowie crona.
  • logrotate ma -d opcja testowania (lub " debugowanie "), ja ' d zalecamy uruchomienie go przynajmniej raz z tym.
  • Bardzo częstą frustracją jest nowa, wymagana dyrektywa su 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

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 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *