Как запустить logrotate от имени локального пользователя?

Как запустить logrotate от имени локального пользователя?

Я пытаюсь управлять журналами, которые генерируются локальными скриптами. Эти журналы — не что иное, как stdout и stderr, перенаправленные в локальные файлы. У меня нет прав root, и попытка запустить logrotate как локальный пользователь с локальным файлом конфигурации приводит к ошибке:

Ignoring /home/user/customlogfile because the file owner is wrong (should be root).
Handling 0 logs

Можно ли запустить logrotate от имени локального пользователя?

решение1

Я пытаюсь управлять журналами, которые генерируются локальными скриптами. Эти журналы — не что иное, как stdout и stderr, перенаправленные в локальные файлы.

logrotateТогда вам это изначально не нужно .

Приобретите себе один или несколько из следующих вариантов:

и отправить стандартный вывод скрипта и стандартную ошибку через канал на его стандартный ввод, обычным способом.

Они будут записывать набор автоматически цикличных, ротируемых по требованию, строго ограниченных по размеру журналов в указанном вами каталоге, без необходимости в каких-либо дополнительных программах ротации журналов вообще. Ни одному из них не нужны привилегии суперпользователя. (На самом деле, они далеки от необходимости или ожидания привилегий суперпользователяэто лучшая практика(В наиболее известном варианте их использования — протоколирование выходных данных демона для запуска их под непривилегированными учетными записями.)

Связанный контент