LINUX.ORG.RU

вопрос по поводу Logrotate

 


0

2

собственно создал конфиг logrotate

создал файл /etc/logrotate.d/remotelogs

в нем сам конфиг

/var/remote_logs/127.0.0.1/all.log
{
     rotate 1
     size 1k
     missingok
     notifempty
     delaycompress
     create 0775 root ossec
     postrotate
          /etc/init.d/rsyslog restart
          /etc/init.d/ossec-hids-server restart
     endscript
}

потом выполнил команду

logrotate -f /etc/logrotate.d/remotelogs
у меня произошла ротация как и должно быть... создался новый файл all.log а старый стал all.log.1 но когда новый файл all.log стал больше килобайта он почему то автоматически не ротировался в чем может быть проблема?

Он ротируется при следующем вызове logrotate, который ты должен запихать в systemd timers, ну или в cron по старинке.

EXL ★★★★★
()
Ответ на: комментарий от EXL

в кроне там по времени раз в какой том промежуток.... а мне по размеру.... другие то файлы ротируются /vr/log/syslog

kold2015
() автор топика
Ответ на: комментарий от kold2015

Я не знаток logrotate, но, по-моему он не отслеживает размеры лог-файлов.

Если правильно помню, его алгоритм работы прост:

Запускаться раз в неделю/день/час по крону (или аналогам) и производить работу над лог-файлами в соответствии с правилами из конфига. Тут он и пожмёт как надо, и разделит на части по 1КБ и т.д

EXL ★★★★★
()
Ответ на: комментарий от kold2015

logrotate не висит в фоне и не отслеживает размер логов в режиме реального времени. Он применяет правила только при последующем запуске (обычно, это раз в день через /etc/cron.daily). Если вам нужно часто остлеживать указанные файлы, то добавляйте в крон задачу на более частый запуск logrotate.

PS. postrotate скрипты у вас не будут выполняться, потому что не задана опция sharedscripts

pod ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.