J'ai un propriétaire de fichier journal par l'utilisateur «apache» que je voudrais faire pivoter avec logrotate.
J'aimerais le faire en exécutant logrotate en tant qu'utilisateur différent, dites «web» en utilisant la stratégie copytruncate.
Cela échoue avec cette erreur:
error: error setting owner of ./logfile.log.1: Operation not permitted
Mais uniquement parce que logrotate essaie de changer le propriétaire du nouveau fichier en propriétaire du fichier pivoté, c'est-à-dire apache. Mais je ne me soucie pas que les nouveaux fichiers aient le même propriétaire, si logrotate créerait des copies avec 'web' en tant que propriétaire, ce serait bien et cela pourrait fonctionner correctement.
Existe-t-il un moyen d'empêcher logrotate de changer le propriétaire du fichier copié?
postscript
etchown "$1"
n'est probablement pas approprié ici car cela n'empêchera pas logrotate de ne pas définir le propriétaire.Réponses:
J'utilise la
create
directive dans mes/etc/logrotate.d/
fichiers. Exemple:la source
create
fera probablement ce que vous décrivez dans la dernière phrase de votre question, mais cette option est incompatible aveccopytruncate
, que vous dites également vouloir utiliser.la source
J'ai résolu le même problème avec les options postrotate et prerotate:
la source