move-to

<acct-file>

Каталог, в который уезжает закрытый файл учёта
в конфигурации это строкаmove-to off — files are not moved unless this is configuredвнутри блока <acct-file>
Строка, без которой две другие молчат

Строка задаёт каталог, куда MTA перекладывает файл учёта, когда закрывает его. По умолчанию перемещения нет вовсе.

🔴 И это главное, что надо знать про весь блок: без этой строки move-interval молча игнорируется. Руководство говорит прямо: перемещение не делается, а интервал, если он задан, тихо не работает. Ни предупреждения, ни ошибки.

max-size при этом работает и без неё — просто новый файл начинается на месте, с увеличенным номером в имени.

И третья связь: delete-after действует только пока перемещение выключено. Как только файлы уезжают, срок хранения на них не распространяется — за каталогом назначения следит кто-то другой.

Каталог должен быть на том же томе. Перемещение по сети не поддерживается, и назначение обязано отличаться от каталога, где файл создавался.

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

Раньше в шаблоне у файлового блока стояла move-interval 5m без этой строки — то есть интервал не делал ничего. 29.08.2026 его убрали. Работают max-size 25M (новый файл на месте) и delete-after 7d — последний как раз потому, что перемещение выключено.

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

Каталог нужен только там, где файлы забирает кто-то ещё:

Значение Когда
не задавать (умолчание) файлы читают и удаляют на месте
путь к каталогу их забирает внешний сборщик из отдельного места

Условия к каталогу: тот же том, не тот же каталог, что у самого файла. По сети — нельзя.

Умолчание «не перемещать», молчаливое игнорирование интервала, ограничение на том и связь с delete-after — из руководства (§ 3.3.11.2, § 3.3.11.1). Разбор нашей конфигурации — по шаблону Хаба.
Пример в конфигурации
# интервал имеет силу только вместе с каталогом
<acct-file /var/log/pmta/acct.csv>
    move-to /var/log/pmta/archive    move-interval 1h
</acct-file>
Без первой строки вторая молчит. И заметьте: с включённым перемещением delete-after перестаёт действовать — за архивом надо следить отдельно.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Задают интервал перемещения без каталога

§ 3.3.11.3

Чем чреватоИнтервал молча игнорируется. Конфигурация выглядит настроенной, файл не перекладывается, и понять это можно только по отсутствию файлов в архиве — которого тоже нет.
Как заметитьВ блоке есть move-interval, а move-to нет.
Как правильноЛибо добавить каталог, либо убрать интервал, чтобы не вводить в заблуждение читающего конфигурацию.

Включают перемещение и ждут, что срок хранения его догонит

§ 3.3.11.1

Чем чреватоdelete-after действует только пока перемещение выключено. Уехавшие файлы не удаляются никогда, и каталог назначения растёт бесконечно.
Как заметитьАрхив занимает больше, чем весь остальной узел.
Как правильноСледить за архивом отдельно — своей ротацией или уборкой по расписанию.

Указывают каталог на другом томе или по сети

§ 3.3.11.2

Чем чреватоПеремещение по сети не поддерживается, а на другой том — не перемещение, а копирование с удалением, которого MTA не делает.
Как заметитьФайлы остаются на месте, в журнале ошибки перемещения.
Как правильноДержать каталог назначения на том же томе; выносить наружу — отдельной задачей по расписанию.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
move-to <path>
Значения
путь к каталогу на том же томе
Умолчание
off — files are not moved unless this is configured § 3.3.11.2
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<acct-file>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Наследования нет: строка живёт внутри своего <acct-file> и касается только его файлов. Разные потоки учёта могут уезжать в разные каталоги или не уезжать вовсе.
Как проверить на узле
Проверка прямая — смотрим, появляются ли файлы в каталоге назначения:
ls -la /var/log/pmta/archive/ 2>/dev/null | tail -5
Пусто при заданном интервале означает, что каталог не задан или задан неверно. Заодно стоит убедиться, что он на том же томе: df /var/log/pmta /var/log/pmta/archive.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Собрать телеметрию