Как лучше всего настроить logrotate для каждого пользователя, чтобы он вращал файлы в домашнем каталоге пользователя под контролем каждого пользователя crontab -e
?
18
Попробуйте эту процедуру:
создать /home/user/logrotate
папку
mkdir /home/user/logrotate
создайте /home/user/logrotate/my.conf
файл конфигурации с директивой logrotate, как вам нужно
создать /home/user/logrotate/cronjob
для запуска logrotate каждый день в 2:30 (это пример)
30 2 * * * /usr/sbin/logrotate -s /home/user/logrotate/status /home/user/logrotate/my.conf > /dev/null 2>&1
проверьте синтаксис вашего файла конфигурации:
logrotate -d /home/user/logrotate/my.conf
настроить crontab
для запуска logrotate
( Предупреждение : это удаляет существующие записи в вашем crontab. Используйте, crontab -e
чтобы вручную добавить строку из шага 3 в существующий crontab):
crontab /home/user/logrotate/cronjob
После этой последней команды logrotate
файл будет повернут, как описано в, /home/user/logrotate/my.conf
и сохранен статус файла журнала в /home/user/logrotate/status
.
Использование:
crontab -r # remove crontab activities for user
crontab -l # to list crontab activity for user
crontab -e # edit user crontab entries
Вот страница руководства logrotate и crontab .
-s
параметру буду избегатьerror: error creating unique temp file: Permission denied
.