Page 1 of 1

Сохранение логов httpd по дням

Posted: Thu Mar 06, 2014 9:18 pm
by belka2007
Как сделать чтоб логи что в /var/log/httpd/domains не записывались в один файл, а чтоб сохранялись по дням.
И хранились например только те, что за 3 последних дня.

Вместо:
domain.log
domain.error.log

Чтоб было например:
1.domain.log________за 06.03.13
1.domain.error.log____за 06.03.13
2.domain.log________за 05.03.13
2.domain.error.log____за 05.03.13
3.domain.log________за 04.03.13
3.domain.error.log____за 04.03.13

Можно чтоб еще старые 2 архивировались. Так было в ISPmanager, привык... да и удобно)

Re: Сохранение логов httpd по дням

Posted: Thu Mar 06, 2014 10:07 pm
by imperio
Для ротации логов используется приложение logrotate
Проверьте пожалуйста установлено ли оно у вас по адресу

Code: Select all

/etc/logrotate.d
Если да, то внутри папки вы увидите названия служб.
Вам нужно будет настроить файлы служб httpd и nginx

Re: Сохранение логов httpd по дням

Posted: Fri May 02, 2014 11:19 am
by belka2007
Сделал и забыл написать ответ... может еще кому понадобиться.
Хранение логов последних 5 дней с архивацией:

В etc/logrotate.d/httpd

Code: Select all

/var/log/httpd/*log /var/log/httpd/domains/*log {
    daily
	missingok
	rotate 5
    notifempty
    compress
    sharedscripts
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
        [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
    endscript
}
В etc/logrotate.d/nginx

Code: Select all

/var/log/nginx/*.log {
        daily
        missingok
        rotate 5
        compress
        delaycompress
        notifempty
        create 640 nginx adm
        sharedscripts
        postrotate
                [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
        endscript
}