errors in crontab file, can't install: как исправить
Команда crontab проверяет расписание перед сохранением и не сохраняет его, если в строке ошибка. Сообщение показывает номер строки и поле, в котором ошибка. Ниже — что значит каждое сообщение и как исправить.
Содержание 9
Что сделать прямо сейчас
- На вопрос
Do you want to retry the same edit? (y/n)нажмитеyи Enter — откроется тот же текст со всеми вашими правками. - Найдите строку по номеру из сообщения. В nano номер строки, где стоит курсор, показывает Ctrl+C.
- Исправьте строку по таблице ниже и сохраните: Ctrl+O, Enter, Ctrl+X.
Если нажать n, расписание останется прежним, а ваши правки — во временном файле, путь к которому покажет терминал. Тогда просто откройте crontab -e снова.
Как выглядит ошибка
crontab: installing new crontab
"/tmp/crontab.Ab12Cd/crontab":24: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n)Первая строка не значит, что расписание сохранено: crontab только начал проверку. Главное — вторая строка: 24 — номер строки в файле, bad minute — какое поле с ошибкой. Строки с подсказками на английском в начале файла тоже считаются, поэтому номер может быть больше, чем строк с задачами.
Что значит каждое сообщение
| Сообщение | Где ошибка | Пример ошибки → как правильно |
|---|---|---|
bad minute | Минуты: от 0 до 59 | 60 3 → 0 4 |
bad hour | Часы: от 0 до 23 | 0 24 → 0 0 |
bad day-of-month | День месяца: от 1 до 31 | 0 3 32 → 0 3 1 |
bad month | Месяц: от 1 до 12 | 0 3 1 13 → 0 3 1 12 |
bad day-of-week | День недели: от 0 до 7 или sun … sat | 0 3 пн → 0 3 1 |
bad command | Лишнее поле: команда начинается со * | 0 3 /home/ivan/a.sh → 0 3 * /home/ivan/a.sh |
bad time specifier | Опечатка в записи с @ | @daly → @daily |
command too long | Команда длиннее 998 символов | Вынесите команды в скрипт |
Названия дней и месяцев cron понимает только английские: mon, jan. Русские сокращения дают ошибку того поля, где стоят.
bad day-of-week, хотя день недели верный
Так бывает, когда в строке четыре поля времени вместо пяти:
0 3 * * /home/ivan/backup.shCron принимает путь к скрипту за день недели. Добавьте пропущенную звёздочку — полей времени должно быть ровно пять:
0 3 * * * /home/ivan/backup.shbad command: лишняя звёздочка
Шесть полей времени — ошибка: в личном расписании за пятью полями сразу идёт команда, а команда со звёздочки начинаться не может. Удалите лишнее поле.
Шестое поле нужно только в файле /etc/crontab и в файлах папки /etc/cron.d — там после времени пишут имя пользователя: 0 3 * root /root/backup-site.sh. В расписании из crontab -e имени нет.
new crontab file is missing newline before EOF
new crontab file is missing newline before EOF, can't install.Последняя строка расписания не заканчивается переводом строки. В nano так не случается: он сам добавляет перевод строки при сохранении. Ошибка появляется, когда расписание ставят из файла командой crontab файл. Откройте файл, встаньте в конец последней строки, нажмите Enter, сохраните и повторите команду.
You are not allowed to use this program
You (ivan) are not allowed to use this program (crontab)
See crontab(1) for more informationПользователю запрещено пользоваться cron. Доступ задают два файла:
- Если есть файл /etc/cron.allow, cron разрешён только тем, чьи имена в нём записаны.
- Если cron.allow нет, но есть /etc/cron.deny, cron разрешён всем, кроме тех, кто записан в нём.
- Если нет ни одного из файлов, cron разрешён всем.
- root может пользоваться cron в любом случае.
Проверьте, какие файлы есть:
ls -l /etc/cron.allow /etc/cron.denyЕсли вы администратор сервера, добавьте своё имя в cron.allow (по одному имени на строку) или уберите его из cron.deny:
sudo nano /etc/cron.allowЕсли сервер не ваш — например, это общий хостинг, — доступ к cron даёт его администратор.
no crontab for ivan
no crontab for ivanЭто не ошибка: у пользователя пока нет расписания. Так отвечают crontab -l и crontab -r. Чтобы создать расписание, откройте его командой crontab -e — пошагово в инструкции Как добавить задачу в cron.
Похожие ошибки
| Ошибка | Разбор |
|---|---|
| Расписание сохранилось, но задача не выполняется | Разбор |
No MTA installed, discarding output | Разбор |
Команды и тексты сообщений сверены с пакетом cron 3.0pl1-184ubuntu2 из Ubuntu 24.04 — его справкой и исходным кодом.
Источники
- Исходный код cron: crontab.c — тексты no crontab for, installing new crontab, errors in crontab file и другие.
- Исходный код cron: entry.c — тексты bad minute, bad hour и других ошибок в строке.
- Справка crontab(1) из пакета cron для Ubuntu 24.04 — ключи -e, -l, -r и -i, файлы cron.allow и cron.deny.
- Справка crontab(5) из пакета cron для Ubuntu 24.04 — поля расписания, диапазоны, шаг, записи с @, знак %, переменные.
Сверено 10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026