Tengo un propietario de archivo de registro por el usuario 'apache' que me gustaría rotar con logrotate.
Me gustaría hacerlo ejecutando logrotate como un usuario diferente, digamos 'web' usando la estrategia copytruncate.
Eso falla con este error:
error: error setting owner of ./logfile.log.1: Operation not permitted
Pero solo porque logrotate intenta cambiar el propietario del nuevo archivo al propietario del archivo girado, es decir, apache. Pero no me importa que los nuevos archivos tengan el mismo propietario, si logrotate crearía copias con 'web' como propietario, estaría bien y luego podría funcionar bien.
Entonces, ¿hay alguna manera de evitar que logrotate cambie el propietario del archivo copiado?
postscript
ychown "$1"
probablemente no sea apropiado aquí porque no evitará que logrotate no establezca el propietario.Respuestas:
Yo uso la
create
directiva en mis/etc/logrotate.d/
archivos. Ejemplo:fuente
create
probablemente hará lo que describas en la última oración de tu pregunta, pero esta opción es incompatible con lacopytruncate
que también dices que quieres usar.fuente
Resolví el mismo problema con las opciones postrotate y prerotate:
fuente