Налаштування logrotate без доступу до кореня (за обертанням журналу користувача)


18

Як найкраще можна налаштувати логротату на основі кожного користувача, щоб обертати файли в домашній каталог користувача під контролем користувача crontab -e?

Відповіді:


27

Спробуйте цю процедуру:

  1. створити /home/user/logrotateпапку

    mkdir /home/user/logrotate
    
  2. створити /home/user/logrotate/my.confфайл конфігурації з директивою logrotate, як вам потрібно

  3. створити /home/user/logrotate/cronjobдля запуску логротета щодня о 2:30 (це приклад)

    30 2 * * * /usr/sbin/logrotate -s /home/user/logrotate/status /home/user/logrotate/my.conf > /dev/null 2>&1
    
  4. перевірити синтаксис файлу конфігурації:

    logrotate -d /home/user/logrotate/my.conf
    
  5. configure crontabto run 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 .


3
Дуже повчальний. Можливо, слід зазначити, що "crontab <file>" видаляє всі попередньо налаштовані кліронні завдання. Це саме сталося зі мною - на щастя, у мене було резервне копіювання :)
pederpansen

1
Дякую @pederpansen за те, що покращив мою відповідь :)
Lety

2
Завдяки -sпараметру буде уникати error: error creating unique temp file: Permission denied.
Марко Марсала
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.