У меня есть a tomcat
сервер, который генерирует файлы журнала доступа на ежедневном вращении.
Для чистки их каждые X дни я пытался настроить следующее crontab -e
:
@weekly find /var/log/tomcat8/localhost_access_log.*.txt -mtime +10 -delete
Проблема: я получаю a Permission denied
ошибка, выполняющая это. Поскольку /var/log/tomcat8
папка имеет tomcat:tomcat
полномочия user:group, и я зарегистрирован как другой.
Так, как я мог лучше всего создать cronjob, который имеет полномочия удалить те файлы?
Или если я просто добавляю crontab через sudo crontab -e
?
Для выполнения crontab
, который может получить доступ к файлам, принадлежавшим пользователю tomcat
, можно выполнить команду как, пользователь tomcat
Выполнение crontab
как пользователь tomcat
использование:
sudo crontab -u tomcat -e
Вы могли зафиксировать то использование sudo crontab -e
, так как root
будет иметь достаточные полномочия.
, Но logrotate
, кажется, инструмент для вращения журналов (и скорее всего уже используется в системе).
Взглянули в /etc/logrotate.d/
и пытаются уже найти если tomcat
использование это.