Назад | Перейти на главную страницу

Как мне указать logrotate, какие файлы нужно вращать с помощью cron?

На моем веб-сервере у меня есть этот файл: /etc/logrotate.d/apache2

Я знаю, что это логротация /var/log/apache2/.журнал, но если я хочу добавить то, что находится в /usr/home/www/site1/logs/.log мне просто продублировать все, что показано ниже, и вставить туда эту строчку? Нужно ли мне вручную добавлять строки в этот файл каждый раз, когда я добавляю новый сайт?

Или как это сделать наиболее профессионально?

/var/log/apache2/*.log {
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 640 root adm
    sharedscripts
    postrotate
        if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
            /etc/init.d/apache2 reload > /dev/null
        fi
    endscript
}

Как насчет:

/var/log/apache2/*.log /usr/home/www/*/logs/*.log {
  weekly    
  .
  .
  .
}

Другими словами, просто перечислите все нужные пути, разделенные пробелами. Затем Logrotate проверит все пути. Кстати, вы также можете протестировать свою конфигурацию как отмечено здесь с опцией отладки -d:

logrotate -d /path/to/config

В выводе будут перечислены все проверяемые файлы:

considering log /var/log/nginx/access.log
  log does not need rotating