como sobrescrever logrotate para serviços iniciantes específicos

2

Eu tenho um serice myservice que é executado usando upstart . Ele cria arquivos de logs no diretório /var/log/upstrart/ .

Meu serviço está gerando muitos logs, tenho que trabalhar nisso, até esse momento, eu tenho que girar meu arquivo de logs com base no tamanho ao invés do tempo. Minha configuração padrão para logrotate é.

/var/log/upstart/*.log {
        daily
        missingok
        rotate 7
        compress
        notifempty
        nocreate
}

Posso substituir isso apenas por myservice ?

Posso escrever meu won logrotate.conf e adicionar na pasta /etc/init.d/myservice e ele irá sobrescrever a configuração existente?

    
por Lafada 09.02.2017 / 23:03

1 resposta

1

Basicamente, se myservice for executado usando upstart , ele terá um arquivo de configuração /etc/init/myservice.conf e possivelmente um arquivo de compatibilidade /etc/init.d/myservice , mas o último não é um diretório. É muito fora do padrão ter subdiretórios em /etc/init ou /etc/init.d .

Dito isto, é uma péssima ideia alterar os arquivos que fazem parte da distro, porque suas alterações podem ser substituídas por uma atualização. Todas as distros têm mecanismos para evitar isso, mas você nunca pode ter certeza de que elas funcionarão. Portanto, não mexa com /etc/logrotate.d/upstart ou onde quer que as estrofes citadas sejam. Isso significa que você não pode ter seu arquivo de log em /var/log/upstart .

A solução mais fácil para você é criar um diretório /var/log/myservice/ , edite o arquivo /etc/init/myservice.conf para instruir seu serviço a logar em /var/log/myservice/myservice.log (essa é a parte mais complicada, leia abaixo) e crie um arquivo /etc/logrotate.d/myservice com as estrofes que você quer.

Serverfault tem algumas dicas sobre como instruir o seu daemon para logar em algum lugar else (você geralmente desvia o log do upstart para o syslog, então diz ao syslog onde logar). Eu não posso te dizer mais, já que não sei nada sobre o seu serviço.

    
por 09.02.2017 / 23:53