No MTA installed, discarding output: что значит в журнале cron
Это не ошибка запуска: cron выполнил задачу, она что-то вывела, и cron хотел отправить вывод письмом. Почтовой программы на сервере нет — вывод выброшен. Решение — направить вывод в файл.
Содержание 10
Что сделать прямо сейчас
Откройте расписание:
crontab -eДопишите в конец строки задачи запись вывода в файл:
30 3 * * * /home/ivan/backup.sh >> /home/ivan/backup.log 2>&1Сохраните: в nano — Ctrl+O, Enter, Ctrl+X. После следующего запуска откройте файл — там будет то, что задача выводила, в том числе ошибки:
cat /home/ivan/backup.logКоманды вводятся в терминале сервера после подключения по SSH (как подключиться).
Как выглядит сообщение
В журнале cron — sudo journalctl -u cron — сразу после строки запуска задачи:
Oct 10 03:30:01 myserver CRON[2345]: (ivan) CMD (/home/ivan/backup.sh)
Oct 10 03:30:02 myserver CRON[2344]: (CRON) info (No MTA installed, discarding output)Почему так происходит
Всё, что задача выводит в терминал, cron собирает и отправляет письмом владельцу расписания. Для отправки ему нужна почтовая программа — MTA, от английского mail transfer agent. Если её на сервере нет, cron пишет в журнал эту строку и выбрасывает вывод.
Сама задача при этом выполнилась. Но если вывод — сообщение об ошибке, вы его не увидите. Поэтому важно, что именно задача выводила.
Способ 1. Сохранять вывод в файл
Это основной способ: вывод и ошибки останутся на сервере, и их можно прочитать.
30 3 * * * /home/ivan/backup.sh >> /home/ivan/backup.log 2>&1>> /home/ivan/backup.log— дописывать вывод в конец файла. Один знак>перезаписывал бы файл при каждом запуске.2>&1— туда же отправлять ошибки.
Файл растёт с каждым запуском. Очистить его, не удаляя:
truncate -s 0 /home/ivan/backup.logСпособ 2. Не отправлять письма
Строка MAILTO="" в начале расписания выключает письма для всех задач ниже неё:
MAILTO=""
30 3 * * * /home/ivan/backup.shСтрока No MTA installed в журнале пропадёт, но вывод задач по-прежнему никуда не сохраняется. Если задача сломается, вы об этом не узнаете — поэтому вывод важных задач лучше писать в файл.
Способ 3. Выбрасывать вывод намеренно
Если задача проверена и её вывод не нужен, направьте его в /dev/null — специальный файл, который всё поглощает:
*/5 * * * * /home/ivan/task.sh > /dev/null 2>&1Строки No MTA installed в журнале не будет, но и ошибок задачи тоже не будет видно.
А если нужны письма на почту
Чтобы cron отправлял вывод на вашу почту, на сервере должна работать почтовая программа, а в расписании — стоять строка MAILTO=ivan@example.com с вашим адресом. Настройка отправки почты с сервера — отдельная задача: письма с нового VPS без настроенного домена могут не дойти или попасть в спам. Для контроля задач проще файл с выводом.
Похожие ошибки
Команды и тексты сообщений сверены с пакетом cron 3.0pl1-184ubuntu2 из Ubuntu 24.04 — его справкой и исходным кодом.
Источники
- Исходный код cron: do_command.c — запуск через sh -c из домашней папки, текст No MTA installed.
- Справка crontab(5) из пакета cron для Ubuntu 24.04 — поля расписания, диапазоны, шаг, записи с @, знак %, переменные.
- Исходный код cron: misc.c — вид записей cron в журнале.
- Справка journalctl для Ubuntu 24.04 — ключи -u и -n.
Сверено 10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026