Logrotate maxage не работает

Cron не стартует logrotate

Всем привет. Появилась необходимость, создать ротацию лог файла, так как уж больно аудит забивает логи. конфиг /etc/logrotate.d/parsec выглядит следующим образом:

Что-то у вас много нестыковок. Сейчас скрипты из /etc/cron.daily запускаются anacron’ом. Потом если файл большого размера и вы ограничиваете его размер, то тогда нужно запускать не раз в день, а чаще. И обычно пишущему процессу посылают сигнал, а не restart, и в любом случае, после ротации файла, а не до (то есть postrotate).

Извиняюсь, напутал с конфигом. На деле он следующего вида.

Не совсем. Просто проверка размера файла происходит только в момент вызова logrotate. Если запускать logrotate раз в сутки, то указание размера смысла не имеет, будет срабатывать ″daily″.

Если данных в лог пишется много и хочется как-то ограничить размер, то нужно вызывать logrotate чаще. Хотя 2к это совсем мало — один экран текста.

Прочитайте что-нибудь про команды sh (bash). Эта строка проверяет наличие исполняемого файла anacron и если он есть ничего не делает. То есть, если anacron есть, то он запускает задачи из /etc/cron.daily, при условии, что не редактировался дефолтный конфиг в /etc/anacrontab и не удалялся файл /etc/cron.hourly/0anacron.

И anacron не запускает задание прямо в 6:25, он запускает у указанный в конфиге промежуток времени.

Можете поместить скрипт logrotate в /etc/cron.hourly или отредактировать /etc/crontab, чтобы logrotate запускался раз в час.

Допустим в конфиге ротации у меня указан параметр daily. Если перенести его в cron.hourly, то будет ли происходить ротация каждый час, если указан параметр daily?

Нет, часовой ротации не будет. Будет ротация по размеру файла (если он указан).

Logrotate parsec

Rayman привет, получилось ли решить данную проблему, столкнулся с такой же темой, на астре 1.5 parsec сыпит лог как бешенный, а logrotate ну никак не хочет ротировать.

привет! Да получилось, вот Здесь хорошо описано

Источник

Ротация логов в Linux и FreeBSD с помощью logrotate

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

Установка

Чаще всего, в Linux данная утилита установлена по умолчанию. Если это не так, установка выполняется следующими командами.

Ubuntu / Debian:

apt-get install logrotate

CentOS / Red Hat:

yum install logrotate

FreeBSD:

pkg install logrotate

Утилита не работает как служба, поэтому нет необходимости в ее запуске или перезагрузке (logrotate start или logrotate restart делать не нужно).

Настройка

Для приложение, ротация логов настраивается в отдельных файлах, расположенных по пути /etc/logrotate.d/ (во FreeBSD — /usr/local/etc/logrotate.d/).

К примеру, нам необходимо настроить ротацию лога для logstash-forwarder. Создаем файл со следующим содержимым:

/var/log/logstash-forwarder/* <
rotate 30
size=10M
missingok
notifempty
daily
compress
delaycompress
maxage 30
create 0644 root root
postrotate
/usr/bin/systemctl restart logstash-forwarder
endscript
>

  • rotate 30 — хранить последние 30 ротированных файлов. Остальные удалять.
  • size=10M — пока размер лог-файла не превысит 10 мегабайт, он не будет ротироваться.
  • missingok — если файла не существует, не выкидывать ошибку.
  • notifempty — если файл пустой, не выполнять никаких действий.
  • daily — делать ротацию каждый день.
  • compress — сжимать ротированные файлы.
  • delaycompress — сжимать только предыдущий журнал. Позволяет избежать ошибок, связанных с отсутствием доступа к используемому файлу.
  • maxage 30 — хранить ротированные файлы за последние 30 дней. Остальные удалять.
  • create 0644 root root — создать новый лог-файл после ротирования.
  • postrotate . endscript — скрипт, который необходимо выполнить после чистки лога.

* /var/log/logstash-forwarder/* — путь к файлу, который нужно ротировать. * указывает, что нужно чистить все файлы, которые расположены в каталоге /var/log/logstash-forwarder.
* напомню, что во FreeBSD, путь будет /usr/local/etc/logrotate.d/logstash.

При настройке необходимо проверять работу сервиса после ротации лога. Некоторые службы могут перестать работать без лог-файла. В данном случае, необходимо создавать новый (create). Также, в некоторых случаях, сервис необходимо перезапускать, так как при создании нового файла меняется его дескриптор.

Запуск вручную

Запуск выполняется со следующим синтаксисом:

logrotate -f /etc/logrotate.d/logstash

Автоматический запуск

Задание на автоматический запуск создается по умолчанию в файле /etc/cron.daily/logrotate. Если изучить его содержимое, мы увидим, что идет запуск logrotate, который читает все файлы в директории /etc/logrotate.d/ и выполняющий для каждого из них ротацию.

Если для какого-то приложения необходимо выполнять ротацию лога по особому расписанию, узнаем полный путь до утилиты logrotate:

* в моем случае, это было /usr/sbin/logrotate.

Получив путь, создаем правило в cron:

0 0 * * * /usr/sbin/logrotate -f /etc/logrotate.d/logstash

* в данном примере в 00:00 будет запускаться logrotate и чистить логи с нашей настройкой для logstash-forwarder.

Источник

Не отрабатывает logrotate

Коллеги, добрый день. Помогите пожалуйста. Настроил logrotate для squid, но он не хочет работать, не понимаю почему.

Я что-то упустил и дополнительно нужно где-то настроить удаление старых файлов?

Попробовал принудительно выполнить очистку через logrotate -f /etc/logrotate.d/squid -d. Вижу что скрипт отрабатывает:

Но в директориях старые файлы остаются, ничего не удаляется.

Все верно и я не так понял принцип работы logrotate или все же файлы должны быть удалены?

Почистил всю папку сам, оставил только access.log и cache.log в соответствующих папках. Еще раз запустил logrotate вручную. Непонятно почему в логе четко написано renaming /ClFS/squid/logs/access.log to /ClFS/squid/logs/access.log.1, и так же для cache.log, но в папках остались только access.log и cache.log — ничего не переименовалось и не создалось.

logrotate удаляет только те файлы, в пределах которых он работает. Т.е. если раньше не было параметра compress, то создавались файлы вида *.1, *.2, вот такие и удалялись бы. Теперь есть compress, значит удаляться будут *.1.gz, *.2.gz, а на несжатые он внимания не обращает.

Когда происходит ротация лога, он переименовывается в какой-то, если другой лог с таким именем уже есть, тогда logrotate переключается на переименование этого другого. И так далее, пока не дойдёт до лимита переименований (rotate N). Вот последний он уже не переименовывает, а удаляет.
Любые другие файлы, не участвующие в этом процессе, logrotate не замечает. Т.е., например, access.log.06-09.09 не удалится никогда, нужно чистить вручную.

Спасибо, стало немного понятнее. Но по идее, если я почистил всё, оставив только access.log и cache.log, то при запуске

Почитал еще несколько тем с аналогичной проблемой, там у людей logrotate просто внезапно начинал работать. Не знаю, может у меня завтра всё станет нормально после ручной чистки лишнего.

Не знаю, может у меня завтра всё станет нормально после ручной чистки лишнего.

Если только тестируете можно не ждать, просто поправить цифирки вот здесь /var/lib/logrotate/status

Ещё в logrotate есть такой момент, как обработка новых логов: если какой-то лог добавляется в обработку впервые, для него в /var/lib/logrotate/status (или /var/lib/logrotate.status) ещё нет пометки с датой. Поэтому при первом запуске logrotate ротацию этого лога не выполняет, просто ставит пометку, а уже при последующих делает ротацию.

Запуск через logrotate -f /etc/logrotate.d/squid не совсем корректный, т.к. при этом не читаются настройки из общего /etc/logrotate.conf.

Также при проблемах помогает просмотр ошибок в режиме отладки:

Не, это сервер в проде, на нём 3к юзеров. Сегодня проверил — пока в папке есть основной access.log и 5 файлов .log.0, log.1.gz, log.2, log.2.gz и log.3. Завтра еще проверю, надеюсь количество не вырастет.

Большое всем спасибо за помощь!

К сожалению, не заработало. За эти дни накопились вот такие файлы:

Источник

Logrotate maxage не работает

Проблема такая: Система Debia, почтовый релей, куча логов, которые забивают весь диск.
Настроил logrotate следующим образом:

weekly
rotate 4
create
compress
include /etc/logrotate.d

# no packages own wtmp, or btmp — we’ll rotate them here
/var/log/wtmp <
missingok
monthly
create 0664 root utmp
rotate 1
>

/var/log/btmp <
missingok
monthly
create 0664 root utmp
rotate 1
>

/var/log/mail.log <
missingok
daily
rotate 4
create
compress
>

# system-specific logs may be configured here
/var/log/syslog <
missingok
daily
rotate 4
create
compress
>

В результате лог mail.log обрабатывается вообще непонятно как. То он вообще не ротируется, то бывает проходит ротация, mail.log весит 0 и в него ничего не пишется, а увеличивается mail.log.1.gz. С логом syslog вообще ничего не происходит — он уже 5 гиг весит.

logrotate запускается каждый день по крону.
Что я делаю не так, что и где надо прописать, чтобы нормально работало?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

  • Проблемы с logrotate и syslog, konst, 17:19 , 12-Дек-08, (1)
    • Проблемы с logrotate и syslog, konstantin811, 15:02 , 15-Дек-08, (3)
      • Проблемы с logrotate и syslog, konst, 15:54 , 15-Дек-08, (5)
        • Проблемы с logrotate и syslog, konstantin811, 16:38 , 15-Дек-08, (6)
      • Проблемы с logrotate и syslog, ronin, 10:15 , 23-Дек-08, (9)
        • Проблемы с logrotate и syslog, pavel_simple, 11:00 , 23-Дек-08, (10)
          • Проблемы с logrotate и syslog, konstantin811, 11:06 , 23-Дек-08, (11)
        • Проблемы с logrotate и syslog, konstantin811, 11:45 , 23-Дек-08, (12)
          • Проблемы с logrotate и syslog, ronin, 13:23 , 23-Дек-08, (13)
            • Проблемы с logrotate и syslog, ronin, 13:35 , 23-Дек-08, (14)
            • Проблемы с logrotate и syslog, konstantin811, 14:04 , 23-Дек-08, (15)
              • Проблемы с logrotate и syslog, konst, 15:44 , 23-Дек-08, (16)
                • Проблемы с logrotate и syslog, konstantin811, 11:20 , 26-Дек-08, ( 17 )
            • Проблемы с logrotate и syslog, s_dog, 12:23 , 26-Дек-08, ( 18 )
              • Проблемы с logrotate и syslog, konstantin811, 12:34 , 26-Дек-08, ( 19 )
                • Проблемы с logrotate и syslog, s_dog, 12:39 , 26-Дек-08, ( 20 )
                  • Проблемы с logrotate и syslog, konstantin811, 14:02 , 26-Дек-08, ( 21 )
                    • Проблемы с logrotate и syslog, s_dog, 14:07 , 26-Дек-08, ( 22 )
                      • Проблемы с logrotate и syslog, konstantin811, 15:55 , 26-Дек-08, ( 23 )
                        • Проблемы с logrotate и syslog, s_dog, 16:13 , 26-Дек-08, ( 24 )
                        • Проблемы с logrotate и syslog, konst, 21:00 , 26-Дек-08, ( 25 )
                        • Проблемы с logrotate и syslog, s_dog, 21:27 , 26-Дек-08, ( 26 )
                        • Проблемы с logrotate и syslog, konst, 22:58 , 26-Дек-08, ( 27 )
  • Проблемы с logrotate и syslog, Hetzer, 17:28 , 12-Дек-08, (2)
    • Проблемы с logrotate и syslog, konstantin811, 15:03 , 15-Дек-08, (4)
    • Проблемы с logrotate и syslog, konstantin811, 11:47 , 22-Дек-08, (7)
      • Проблемы с logrotate и syslog, Hetzer, 15:57 , 22-Дек-08, (8)

Сообщения по теме [Сортировка по времени | RSS]

>[оверквотинг удален]
>include /etc/logrotate.d
>
># no packages own wtmp, or btmp — we’ll rotate them here
>
>/var/log/wtmp <
> missingok
> monthly
> create 0664 root utmp
> rotate 1
>>

Постротэйт может надо добавить.
postrotate
/bin/kill -HUP `cat /var/run/YOUR_MAIL.pid 2>/dev/null` 2> /dev/null || true
endscript

>[оверквотинг удален]
>>
>
>В результате лог mail.log обрабатывается вообще непонятно как. То он вообще не
>ротируется, то бывает проходит ротация, mail.log весит 0 и в него
>ничего не пишется, а увеличивается mail.log.1.gz. С логом syslog вообще ничего
>не происходит — он уже 5 гиг весит.
>
>logrotate запускается каждый день по крону.
>Что я делаю не так, что и где надо прописать, чтобы нормально
>работало?

1. «Проблемы с logrotate и syslog»
Сообщение от konst (??) on 12-Дек-08, 17:19
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. «Проблемы с logrotate и syslog»
Сообщение от konstantin811 (??) on 15-Дек-08, 15:02

>[оверквотинг удален]
>> missingok
>> monthly
>> create 0664 root utmp
>> rotate 1
>>>
>
>Постротэйт может надо добавить.
> postrotate
> /bin/kill -HUP `cat /var/run/YOUR_MAIL.pid 2>/dev/null` 2> /dev/null || true
> endscript

А это зачем? У меня проблемы с /var/log/syslog, что он не ротируется
А так же с /var/log/mail.log — он ротируется, но как-то странно. Ротация каждый день. 11 декабря ротация прошла и с 11 дек. вся инфа mail.log в файле mail.log, а файлы mail.log.1.gz и 2.gz так и не сдвигаются.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. «Проблемы с logrotate и syslog»
Сообщение от konst (??) on 15-Дек-08, 15:54

>А это зачем? У меня проблемы с /var/log/syslog, что он не ротируется
>
>А так же с /var/log/mail.log — он ротируется, но как-то странно. Ротация
>каждый день. 11 декабря ротация прошла и с 11 дек. вся
>инфа mail.log в файле mail.log, а файлы mail.log.1.gz и 2.gz так
>и не сдвигаются.

А в логах крона что пишут по этому поводу?
сделать compress для файла в 5 Гиг — серьезное испытание. Есть ли свободное простанство на диске (> 5 G) ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. «Проблемы с logrotate и syslog»
Сообщение от konstantin811 (??) on 15-Дек-08, 16:38

>
>>А это зачем? У меня проблемы с /var/log/syslog, что он не ротируется
>>
>>А так же с /var/log/mail.log — он ротируется, но как-то странно. Ротация
>>каждый день. 11 декабря ротация прошла и с 11 дек. вся
>>инфа mail.log в файле mail.log, а файлы mail.log.1.gz и 2.gz так
>>и не сдвигаются.
>
>А в логах крона что пишут по этому поводу?
>сделать compress для файла в 5 Гиг — серьезное испытание. Есть ли свободное простанство на диске (> 5 G) ?

Так syslog я всё-таки прибил, щас новый уже надопился около 300 мб, с 12. Так за 3 дня и не было ротации.

Самое интересное, /var/log/messages ротация происходит, хотя вроде вообще нигде не прописано.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. «Проблемы с logrotate и syslog»
Сообщение от ronin (??) on 23-Дек-08, 10:15

>А это зачем? У меня проблемы с /var/log/syslog, что он не ротируется
>
>А так же с /var/log/mail.log — он ротируется, но как-то странно. Ротация
>каждый день. 11 декабря ротация прошла и с 11 дек. вся
>инфа mail.log в файле mail.log, а файлы mail.log.1.gz и 2.gz так
>и не сдвигаются.

Всё дело в том, как серверное приложение пишет логи. Есть 2 варианта:
1. для записи каждого лог-сообщения приложение открывает соответствующий лог-файл, дописывает в конец сообщение и закрывает файл. Но такие открывания-закрывания файла увеличивают задержки в работе приложения, (особенно если происходит частое записывание в лог) и, соответственно, нагрузку на сервер;
2. приложение открывает лог-файл 1 раз на старте, и постоянно держит его открытым; соответственно, нет издержек на постоянное открывание-закрывание лог-файла, но есть другие «грабли» — например ротация таких логов, как в Вашем случае. Дело в том, что в Юникс-подобных системах приложения обращаются к файлам по номеру inode, а не по имени. В момент открытия лог файла файловая система по имени файла определяет его inod и возвращает приложению, которое запоминает inod, и в дальнейшем обращается к файлу уже по этому inode. Тоесть, как только файл открыт, его можно переименовывать, перемещать по диску (в пределах одного дискового раздела) — приложение всё равно найдёт его, т. к. inod остаётся неизменным. Вторая возможная неприятность — когда при открытом лог-файле происходит ротация лога, и он удаляется. Тогда приложение, открывшее inod, или зависнет, или тупо свалится, или (реже) останется работать, но перестанет писать логи.

В случае с Вашим /var/log/mail.log происходит именно то, что описано в п. 2 выше — МТА открыл файл, запомнил inod, и ему начхать, что Вы ротейтаете логи. Поэтому необходимо вставить в postrotate-секцию перезапуск приложения, чтоб оно открывало новый лог-файл после ротаци предыдущего (имя файла будет то же, но inod уже другой).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. «Проблемы с logrotate и syslog»
Сообщение от pavel_simple (??) on 23-Дек-08, 11:00

>[оверквотинг удален]
>найдёт его, т. к. inod остаётся неизменным. Вторая возможная неприятность —
>когда при открытом лог-файле происходит ротация лога, и он удаляется. Тогда
>приложение, открывшее inod, или зависнет, или тупо свалится, или (реже) останется
>работать, но перестанет писать логи.
>
>В случае с Вашим /var/log/mail.log происходит именно то, что описано в п.
>2 выше — МТА открыл файл, запомнил inod, и ему начхать,
>что Вы ротейтаете логи. Поэтому необходимо вставить в postrotate-секцию перезапуск приложения,
>чтоб оно открывало новый лог-файл после ротаци предыдущего (имя файла будет
>то же, но inod уже другой).

пора-бы знать что у debian’а есть свои небольшие приколы относительно основных журнальных файлов
man syslogd-listfiles

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. «Проблемы с logrotate и syslog»
Сообщение от konstantin811 (??) on 23-Дек-08, 11:06

Ну а я вот к сожалению не знал. Так значит мне вообще не надо настраивать ротацию mail.log и syslog в logrotate? Или надо всё это настраивать через syslogd-listfiles? Что-то я не разобрался с этими костылями.

>пора-бы знать что у debian’а есть свои небольшие приколы относительно основных журнальных
>файлов
>man syslogd-listfiles

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. «Проблемы с logrotate и syslog»
Сообщение от konstantin811 (??) on 23-Дек-08, 11:45

>[оверквотинг удален]
>найдёт его, т. к. inod остаётся неизменным. Вторая возможная неприятность —
>когда при открытом лог-файле происходит ротация лога, и он удаляется. Тогда
>приложение, открывшее inod, или зависнет, или тупо свалится, или (реже) останется
>работать, но перестанет писать логи.
>
>В случае с Вашим /var/log/mail.log происходит именно то, что описано в п.
>2 выше — МТА открыл файл, запомнил inod, и ему начхать,
>что Вы ротейтаете логи. Поэтому необходимо вставить в postrotate-секцию перезапуск приложения,
>чтоб оно открывало новый лог-файл после ротации предыдущего (имя файла будет
>то же, но inod уже другой).

Огромное спасибо за разъяснения! Но как мне сделать это без перезагрузки postfix’a ?
И почему у меня автоматически не срабатывает логротейт, пока я вручную его не запущу?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. «Проблемы с logrotate и syslog»
Сообщение от ronin (??) on 23-Дек-08, 13:23

>И почему у меня автоматически не срабатывает логротейт, пока я вручную его
>не запущу?

Сложно сказать почему логротейт не срабатывает. Может просто crond не запущен?

>Но как мне сделать это без перезагрузки postfix’a ?

Именно так, как Вам подсказали ранее — вставить соответствующую команду рестарта постфикса в конфиг логротейта. И никак иначе.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. «Проблемы с logrotate и syslog»
Сообщение от ronin (??) on 23-Дек-08, 13:35

>>Но как мне сделать это без перезагрузки postfix’a ?
>
>Именно так, как Вам подсказали ранее — вставить соответствующую команду рестарта постфикса
>в конфиг логротейта. И никак иначе.

В принципе, если МТА очень критичный и перезапуск строго противопоказан, то можно настроить syslogd на запись логов мейлсервера на удаленную машину. Тогда ротация логов на удаленной машине никоим образом не будет влиять на Ваш мейлсервер. А если придерживаться локальной записи логов и ротации, то действительно, перезапуск постфикса при ротации логов обязателен.

man 5 syslog.conf

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. «Проблемы с logrotate и syslog»
Сообщение от konstantin811 (??) on 23-Дек-08, 14:04

>
>>И почему у меня автоматически не срабатывает логротейт, пока я вручную его
>>не запущу?
>
>Сложно сказать почему логротейт не срабатывает. Может просто crond не запущен?

Да наверно crond запущен. Он и в /etc/rc3 есть и есть скрипт, который чистин папку с карантином ночью, запускается из крона — каждый день отрабатывает.

>>Но как мне сделать это без перезагрузки postfix’a ?
>
>Именно так, как Вам подсказали ранее — вставить соответствующую команду рестарта постфикса
>в конфиг логротейта. И никак иначе.

гм. и для sysloga ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. «Проблемы с logrotate и syslog»
Сообщение от konst (??) on 23-Дек-08, 15:44

в redhat есть полезные ключики у logrotate:
из терминала:
logrotate -d -v -v -v /etc/logrotate.conf
может показать узкое место.

как в debian — не знаю.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17 . «Проблемы с logrotate и syslog»
Сообщение от konstantin811 (??) on 26-Дек-08, 11:20

>в redhat есть полезные ключики у logrotate:
>из терминала:
>logrotate -d -v -v -v /etc/logrotate.conf
>может показать узкое место.
>
>как в debian — не знаю.

Да запускал я это:

вот кусок из вывода команды /usr/sbin/logrotate -v -f /etc/logrotate.conf

rotating pattern: /var/log/mail.log forced from command line (4 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/mail.log
log needs rotating
rotating log /var/log/mail.log, log->rotateCount is 4
previous log /var/log/mail.log.1 does not exist
renaming /var/log/mail.log.4.gz to /var/log/mail.log.5.gz (rotatecount 4, logstart 1, i 4),
old log /var/log/mail.log.4.gz does not exist
renaming /var/log/mail.log.3.gz to /var/log/mail.log.4.gz (rotatecount 4, logstart 1, i 3),
old log /var/log/mail.log.3.gz does not exist
renaming /var/log/mail.log.2.gz to /var/log/mail.log.3.gz (rotatecount 4, logstart 1, i 2),
renaming /var/log/mail.log.1.gz to /var/log/mail.log.2.gz (rotatecount 4, logstart 1, i 1),
renaming /var/log/mail.log.0.gz to /var/log/mail.log.1.gz (rotatecount 4, logstart 1, i 0),
old log /var/log/mail.log.0.gz does not exist
log /var/log/mail.log.5.gz doesn’t exist — won’t try to dispose of it
renaming /var/log/mail.log to /var/log/mail.log.1
creating new log mode = 0640 uid = 0 gid = 4

rotating pattern: /var/log/syslog forced from command line (4 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/syslog
log needs rotating
rotating log /var/log/syslog, log->rotateCount is 4
previous log /var/log/syslog.1 does not exist
renaming /var/log/syslog.4.gz to /var/log/syslog.5.gz (rotatecount 4, logstart 1, i 4),
old log /var/log/syslog.4.gz does not exist
renaming /var/log/syslog.3.gz to /var/log/syslog.4.gz (rotatecount 4, logstart 1, i 3),
old log /var/log/syslog.3.gz does not exist
renaming /var/log/syslog.2.gz to /var/log/syslog.3.gz (rotatecount 4, logstart 1, i 2),
old log /var/log/syslog.2.gz does not exist
renaming /var/log/syslog.1.gz to /var/log/syslog.2.gz (rotatecount 4, logstart 1, i 1),
old log /var/log/syslog.1.gz does not exist
renaming /var/log/syslog.0.gz to /var/log/syslog.1.gz (rotatecount 4, logstart 1, i 0),
old log /var/log/syslog.0.gz does not exist
log /var/log/syslog.5.gz doesn’t exist — won’t try to dispose of it
renaming /var/log/syslog to /var/log/syslog.1
creating new log mode = 0644 uid = 0 gid = 0

В кроне у меня в папочек /etc/cron.daily лежит запускной файл logrotate с содержимым : /usr/sbin/logrotate /etc/logrotate.conf
Но логи mail.log и syslog не ротировались уже больше недели, пока я вручную не запустил тот же /usr/sbin/logrotate /etc/logrotate.conf, правда всё стало писаться в mail.log.1 и syslog.1.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18 . «Проблемы с logrotate и syslog»
Сообщение от s_dog (??) on 26-Дек-08, 12:23

>[оверквотинг удален]
>>И почему у меня автоматически не срабатывает логротейт, пока я вручную его
>>не запущу?
>
>Сложно сказать почему логротейт не срабатывает. Может просто crond не запущен?
>
>
>>Но как мне сделать это без перезагрузки postfix’a ?
>
>Именно так, как Вам подсказали ранее — вставить соответствующую команду рестарта постфикса
>в конфиг логротейта. И никак иначе.

постфикс не надо рестартить 🙂
надо релоад сислогу сделать
в сусе:
postrotate
/etc/init.d/syslog reload

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19 . «Проблемы с logrotate и syslog»
Сообщение от konstantin811 (??) on 26-Дек-08, 12:34

>[оверквотинг удален]
>>>Но как мне сделать это без перезагрузки postfix’a ?
>>
>>Именно так, как Вам подсказали ранее — вставить соответствующую команду рестарта постфикса
>>в конфиг логротейта. И никак иначе.
>
>постфикс не надо рестартить 🙂
>надо релоад сислогу сделать
>в сусе:
>postrotate
> /etc/init.d/syslog reload

Это конечно всё хорошо, но:

1. По крону почему то logrotate не срабатывает (различные скрипты по крону у меня отлично работают).
2. syslog reload это конечно хорошо, но постфикс (если его не рестартить) тоже пишет лог после логротейта в тот, который был сдвинут, а не в новый.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20 . «Проблемы с logrotate и syslog»
Сообщение от s_dog (??) on 26-Дек-08, 12:39

>[оверквотинг удален]
>>postrotate
>> /etc/init.d/syslog reload
>
>Это конечно всё хорошо, но:
>
>1. По крону почему то logrotate не срабатывает (различные скрипты по крону
>у меня отлично работают).
>2. syslog reload это конечно хорошо, но постфикс (если его не рестартить)
>тоже пишет лог после логротейта в тот, который был сдвинут, а
>не в новый.

Лог пишет не постфикс, а сислог, поэтому надо на сислог смотреть.

Вот скрипт который у меня на системе запускается:
#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf 2>&1 | tee $TMPF
EXITVALUE=$

if [ $EXITVALUE != 0 ]; then
# wait a sec, we might just have restarted syslog
sleep 1
# tell what went wrong
/bin/logger -t logrotate «ALERT exited abnormally with [$EXITVALUE]»
/bin/logger -t logrotate -f $TMPF
fi

rm -f $TMPF
exit 0

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21 . «Проблемы с logrotate и syslog»
Сообщение от konstantin811 (??) on 26-Дек-08, 14:02

>[оверквотинг удален]
>restarted syslog
> sleep 1
> # tell what went wrong
> /bin/logger -t logrotate «ALERT exited abnormally with [$EXITVALUE]»
>
> /bin/logger -t logrotate -f $TMPF
>fi
>
>rm -f $TMPF
>exit 0

Опять же: это никак не отвечает на мой вопрос.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

22 . «Проблемы с logrotate и syslog»
Сообщение от s_dog (??) on 26-Дек-08, 14:07

вот конфиг, который работает, если запускать логротейт приведенным выше скриптом, попробуйте, может и у вас заработает, а?
/var/log/warn /var/log/messages /var/log/allmessages /var/log/localmessages /var/log/firewall <
compress
dateext
maxage 365
rotate 99
missingok
notifempty
size +4096k
create 640 root root
sharedscripts
postrotate
/etc/init.d/syslog reload
endscript
>

/var/log/mail /var/log/mail.info /var/log/mail.warn /var/log/mail.err <
compress
dateext
maxage 365
rotate 99
missingok
notifempty
size +4096k
create 640 root root
sharedscripts
postrotate
/etc/init.d/syslog reload
endscript
>

/var/log/news/news.crit /var/log/news/news.err /var/log/news/news.notice <
compress
dateext
maxage 365
rotate 99
missingok
notifempty
size +4096k
create 640 news news
sharedscripts
postrotate
/etc/init.d/syslog reload
endscript
>

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

23 . «Проблемы с logrotate и syslog»
Сообщение от konstantin811 (??) on 26-Дек-08, 15:55

>[оверквотинг удален]
> rotate 99
> missingok
> notifempty
> size +4096k
> create 640 news news
> sharedscripts
> postrotate
> /etc/init.d/syslog reload
> endscript
>>

Да, добавил в свой logrotate.conf в секции с mail.log и syslog

postrotate
/etc/init.d/postfix reload
endscript
и

postrotate
/etc/init.d/syslog reload
endscript

Вручную запустил logrotate : та же картина. Созданы файлы mail.log.1 и syslog.1, куда скорировались mail.log и syslog, соответственно, но запись логов идёт в mail.log.1 и syslog.1, а mail.log syslog пустые

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

24 . «Проблемы с logrotate и syslog»
Сообщение от s_dog (??) on 26-Дек-08, 16:13

>[оверквотинг удален]
>endscript

>
>postrotate
> /etc/init.d/syslog reload
>endscript
>
>Вручную запустил logrotate : та же картина. Созданы файлы mail.log.1 и syslog.1,
>куда скорировались mail.log и syslog, соответственно, но запись логов идёт в
>mail.log.1 и syslog.1, а mail.log syslog пустые

/etc/init.d/postfix reload — не нужен, лог пишет сислог, он же и открывает файлы.

/etc/init.d/syslog reload попробуйте заменить на /etc/init.d/syslog restart
+ у вас точно syslog крутится не syslog-ng или rsyslog? тогда надо другой процесс релоадить.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

25 . «Проблемы с logrotate и syslog»
Сообщение от konst (ok) on 26-Дек-08, 21:00

лично у меня (RH5) в /etc/logrotate.d/syslog прописано так:

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron <
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
>

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

26 . «Проблемы с logrotate и syslog»
Сообщение от s_dog (??) on 26-Дек-08, 21:27

>
>лично у меня (RH5) в /etc/logrotate.d/syslog прописано так:
>
>/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron <
> sharedscripts
> postrotate
> /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
> /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
> endscript
>>

заметьте, ни sendmail, ни postfix не упомянуты.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

27 . «Проблемы с logrotate и syslog»
Сообщение от konst (ok) on 26-Дек-08, 22:58

>[оверквотинг удален]
>>
>>/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron <
>> sharedscripts
>> postrotate
>> /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
>> /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
>> endscript
>>>
>
>заметьте, ни sendmail, ни postfix не упомянуты.

заметил. У меня именно syslogd пишет сообщения от senmail в /var/log/file
Думаю, у Вас тоже. Вы своими logrotate делаете mv file file1, но файл file был уже открыт syslog’ом. И его inode от mv не меняется.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. «Проблемы с logrotate и syslog»
Сообщение от Hetzer (ok) on 12-Дек-08, 17:28

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. «Проблемы с logrotate и syslog»
Сообщение от konstantin811 (??) on 15-Дек-08, 15:03

Простите, но не понял суть Вашего сообщения.

Источник

Читайте также:  Настроить foobar2000 для flac
Оцените статью