Eu tenho um proprietário de arquivo de log pelo usuário 'apache' que gostaria de rotacionar com logrotate.
Eu gostaria de fazer isso executando logrotate como um usuário diferente, digamos 'web' usando a estratégia copytruncate.
Isso falha com este erro:
error: error setting owner of ./logfile.log.1: Operation not permitted
Mas apenas porque o logrotate tenta alterar o proprietário do novo arquivo para o proprietário do arquivo girado, ou seja, apache. Mas não me importo com os novos arquivos com o mesmo proprietário, se o logrotate criaria cópias com 'web' como proprietário, o que seria bom e, em seguida, poderia funcionar bem.
Portanto, existe alguma maneira de impedir que o logrotate altere o proprietário do arquivo copiado?
postscript
echown "$1"
provavelmente não é apropriado aqui porque não impedirá que a rotação do log falhe ao definir o proprietário.Respostas:
Eu uso a
create
diretiva em meus/etc/logrotate.d/
arquivos. Exemplo:fonte
create
provavelmente fará o que você descreve na última frase da sua pergunta, mas essa opção é incompatível com acopytruncate
qual você também diz que deseja usar.fonte
Resolvi o mesmo problema com as opções pós-rotação e pré-rotação:
fonte