отслеживание logrotate старых логов

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

loginrl103
Сообщения: 11

отслеживание logrotate старых логов

Сообщение loginrl103 »

Имеется архив под логи - /var/log/ngfiles/archive/upsd/
Имеется /var/log/ngfiles/archive/upsd/current - ссылка на каталог "/var/log/ngfiles/archive/upsd/`date +%Y-%m-%d`"
Имеется в logrotate конф для обработки alert

Код: Выделить всё

daily
missingok
notifempty
create 0660 root root
rotate 7

prerotate
if [ -d /var/log/ngfiles/archive/upsd/current/ ]
then
      rmdir /var/log/ngfiles/archive/upsd/current
fi

unlink /var/log/ngfiles/archive/upsd/current
dir=/var/log/ngfiles/archive/upsd/`date +%Y-%m-%d`
if [ ! -d $dir ]
then
      /bin/mkdir -p $dir
fi

ln -s $dir/ /var/log/ngfiles/archive/upsd/current
endscript

olddir /var/log/ngfiles/archive/upsd/current/
sharedscripts


те при каждой ротации создаётся каталог типа 2009-03-15, потом на него делается ссылка current, и именно current указан в качестве olddir; при следующей ротации будет создан 2009-03-16 и уже на него будет вести ссылка current; те логи будут кидаться в каталог с именем соответствующей даты;

Собсно вопрос - logrotate не сможет отследить 7 ротаций для пожатых файлов, так как каталог current при каждом обращении указывает уже в другую директорию, в которой, есесно ничего нет.

Я верно говорю?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: отслеживание logrotate старых логов

Сообщение sash-kan »

logrotate не занимается каталогами.
он делает ротацию для файлов.
внутри заданного каталога.
если указать звёздочку, он будет ротировать все файлы, находящиеся внутри каталога:
/var/log/some/dir/*
и он достаточно умён, чтобы различать
<file>
<file>.N
<file>.N.gz
и понимать, что первый из них — это текущая версия файла, а второй и третий — это созданные им же предыдущие версии того же самого <file>.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: