критично
Команда перечитывает конфигурацию и включает её. Руководство даёт к ней и предпочтение, и гарантию.
Предпочтение: перезагружать, а не останавливать и запускать — это эффективнее и не прерывает работу.
Гарантия важнее. Конфигурация с ошибкой не применяется наполовину: команда не проходит, и узел продолжает работать ровно на том, на чём работал. Отказ означает не сломанный узел, а неизменившийся.
Именно поэтому перезагрузку безопасно пробовать. Худшее, что случится, — настройки не поменяются, и об этом будет сказано в выводе команды. Для системы, которая правит конфигурацию автоматически, такое поведение стоит дороже удобства: неудачная правка не оставляет узел в промежуточном состоянии.
Не всё подхватывается перезагрузкой. Немногим директивам нужен перезапуск, и каждая такая помечена в своём разделе руководства (config-reload).
Перед перечитыванием Хаб прогоняет test config и при ошибке возвращает прежние файлы, а после — проверяет, что MTA отвечает. Гарантия «не применяется наполовину» и делает схему безопасной: если перечитывание не прошло, узел остался на прежней конфигурации.
Вывод команды Хаб читает — по нему и по коду возврата определяется, применилась правка или нет.
Порядок применения правки:
| Шаг | Зачем |
|---|---|
| проверка разбора | узнать об ошибке до применения |
| перезагрузка | включить настройки, не прерывая отправку |
| чтение вывода | убедиться, что она прошла, а не только была вызвана |
| проверка действующих значений | грамматика верна ещё не значит «попало куда надо» |
Последний шаг пропускают чаще всего. Настройка, написанная не в тот блок, разберётся и применится — и обнаружится это по поведению, а не по ошибке. Команды, печатающие действующие настройки очереди и адреса, отвечают на этот вопрос прямо.
Перезапуск оставлять для помеченных директив. Он останавливает отправку, и на узле с регулярными правками это заметная потеря.
# правильный порядок: проверить, применить, убедиться pmta test config pmta reloadpmta show settings gmail.com/mta-news-1
что делают не так и чем это кончается3 ошибки▶
§ 6.3.5
§ 3.1
§ 6.3.5
3 связи
Перезагрузка настроек против перезапуска службыМеханизм, который эта команда и выполняет. § 6.3.5
Сменить ключ подписи, не прерывая отправкуОдна и та же команда применяет и добавление нового ключа, и удаление старого. § 1.6.2Разбор приёма писемКоманда, которой шаг и выполняется. § 4.2.4Заменить файл конфигурации по сетиТа же выдача из командной строки. § 8.2.2Сменить адрес отправки, когда письма уже в очередиИзменение вступает в силу перезагрузкой конфигурации; перезапуск службы не нужен. § 9.5.1
pmta reload pmta show status | tail -1
3 статьи
◇Принять, направить, доставитьПуть письма внутри узла: принять, решить куда, доставить — и между этими тремя шагами живут все настройки.◇Четыре типа значений, на которых написан весь конфигЛогическое, образец домена, регулярное выражение и промежуток времени — определены один раз в § 3.2 и дальше используются всеми директивами.◇Перезагрузка настроек против перезапуска службыКонфигурация читается при старте, дальше правки подхватываются командой перезагрузки — кроме тех директив, которые руководство помечает как требующие перезапуска.