log-auto-rotation

Global

Менять ли файл журнала автоматически в полночь
в конфигурации это строкаlog-auto-rotation trueвнутри блока Global
Смена журнала по расписанию

Строка решает, менять ли файл журнала автоматически в полночь. Умолчание — true.

Вместе с log-rotate она и задаёт глубину истории. Смена в полночь плюс восемь файлов означают примерно неделю с небольшим — по файлу на сутки.

Выключают её ровно в одном случае: когда за файлом следит система. Тогда две ротации перестают спорить, и правило системы остаётся единственным.

Смена по размеру этой строкой не отключается — её здесь нет вовсе: у журнала MTA нет потолка размера, в отличие от файлов учёта.

Главная ловушка — оставить обе ротации включёнными. MTA меняет файл в полночь, система — по своему правилу, и в каталоге оказываются файлы двух разных схем именования. Ничего не ломается, но найти нужный день становится заметно труднее.
Что делает Хаб. Не пишет — значит, действует умолчание true, и MTA меняет файл в полночь.

🔎 При этом в шаблоне рядом с log-file стоит комментарий «ротация — logrotate». Две ротации работают одновременно, и это стоит привести к одному виду: либо выключить здесь и оставить системную, либо убрать системное правило и опереться на встроенную.

Рекомендуемые значения

Выбирают одну ротацию из двух:

Значение Когда
true (умолчание) за журналом следит сам MTA
false за файлом следит системная ротация

Оставлять обе — источник путаницы, а не надёжности.

Умолчание true и смена в полночь — из руководства (§ 3.3.1.59.1). Замечание про спор двух ротаций — наше.
Пример в конфигурации
# за файлом следит система — встроенную смену выключаем
log-file /var/log/pmta/log
log-auto-rotation false
При таком выборе правило системы должно копировать с обрезанием или посылать MTA сигнал: файл он держит открытым.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается1 ошибка▶

Держат обе ротации сразу

наш опыт

Чем чреватоMTA меняет файл в полночь, система — по своему правилу. В каталоге две схемы именования, и поиск нужного дня превращается в перебор.
Как заметитьРядом лежат log.1 и log-20260828.gz.
Как правильноВыбрать одну: выключить эту строку либо убрать системное правило.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
log-auto-rotation <boolean>
Значения
yes | no | true | false
Умолчание
true § 3.3.1.59.1
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Наследования нет: строка пишется в корне файла, раздел Global. Касается журнала узла; у файлов учёта смена настраивается отдельно, в блоке <acct-file>.
Как проверить на узле
Смена в полночь видна по датам файлов журнала:
ls -la --time-style=long-iso /var/log/pmta/log*
Файлы с датами подряд по суткам означают, что встроенная смена работает. Смешанные схемы имён — что рядом работает ещё и системная ротация.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Подготовить узел к отправке