Segui este link para alterar o registro -rotate configuration for RHEL 6

Depois de fazer a alteração no arquivo de configuração, o que devo fazer para que isso tenha efeito?

Resposta

logrotate usa crontab para funcionar. É um trabalho agendado, não um daemon, portanto, não há necessidade de recarregar sua configuração.
Quando o crontab executa logrotate, ele usará seu novo arquivo de configuração automaticamente.
Se precisar testar sua configuração, você também pode executar logrotate por conta própria com o comando:

logrotate /etc/logrotate.d/your-logrotate-config 

Ou conforme mencionado nos comentários, identifique a linha logrotate na saída do comando crontab -l e execute a linha de comando consulte a resposta do slm “ para obter uma explicação cron.daily precisa

Comentários

  • Apenas para acrescentar algo à sua resposta, a entrada cron para logrotate está programada para ser executada uma vez por dia.
  • @Ketan, então, como posso fazer com que isso afete imediatamente? obrigado
  • Se você deseja que tenha efeito imediatamente, execute o cron após as palavras.
  • logrotate tem um -d opção para teste (ou " depuração "), I ' d recomendo executá-lo pelo menos uma vez com isso.
  • Uma frustração muito comum é a nova diretiva su obrigatória su root syslog. O que interrompe o logrotate quando não é adicionado. Para completar a ' frustração das pessoas, quando adicionam a diretiva e executam (forçar) o logrotate, ele continua a cuspir " error: skipping "/var/log/syslog" because parent directory has insecure permissions (It's world writable or writable by group which is not "root" ... " por 20 horas após a alteração da configuração, como se as configurações / processo são armazenados em cache !? Se você estiver preso aí, chgrp em / var / log para root, execute logrotate, chgrp de volta para syslog. Isso ficará claro na próxima execução

Resposta

A maior parte do logrotate configurações que eu vi em várias distros executadas fora do /etc/cron.daily. Há um script de shell apropriadamente chamado de logrotate.

Exemplo

$ ls -l /etc/cron.daily/logrotate -rwxr-xr-x 1 root root 180 May 18 2011 /etc/cron.daily/logrotate 

Execução manual

Se você deseja que seja executado manualmente, basta executar o script como root:

$ sudo /etc/cron.daily/logrotate 

Se você der uma olhada em um script que normalmente está lá, ele mostra como você também pode executar logrotate manualmente, simplesmente executando logrotate + o caminho para seu arquivo de configuração.

#!/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 

Resposta

Deve ser automático via cron. Você pode forçá-lo para testar suas alterações.

Para logrotate global:

sudo logrotate -v -f /etc/logrotate.conf 

Para um único arquivo conf:

sudo logrotate -v -f /etc/logrotate.d/someapp.conf 

Comentários

  • -f para rotação forçada, também há -d para depuração, que também é executado a seco, ele imprimirá tudo o que teria feito, mas não o fará realmente. / ul>

Resposta

Na minha máquina CentOS 6.5 para configurar o logrotate para nginx, tive que fazer isso:

logrotate /etc/logrotate.d/nginx 

E então eu verifiquei se logrotate cuidando da minha nova configuração nginx assim:

cat /var/lib/logrotate.status 

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *