Инструкции

Как добавить задачу в cron: пошагово

Пять шагов: проверить команду, открыть расписание, добавить строку, сохранить и убедиться, что задача сработала. Понадобится терминал, подключённый к серверу по SSH.

Обновлено 10.10.2026≈ 6 мин чтения
Содержание 11

Коротко

  1. Проверьте, что команда работает, если запустить её вручную.
  2. Откройте расписание: crontab -e.
  3. Добавьте в конец строку задачи и нажмите Enter.
  4. Сохраните файл: в nano — Ctrl+O, Enter, Ctrl+X.
  5. Проверьте запуск: sudo journalctl -u cron -n 20.

1. Проверьте команду вручную

Команды вводятся в терминале сервера после подключения по SSH (как подключиться). Сначала убедитесь, что команда или скрипт работает, если запустить его самому. Например, скрипт резервной копии:

/home/ivan/backup.sh

Если ответ — Permission denied, у скрипта нет права на запуск. Дайте его командой chmod u+x /home/ivan/backup.sh (подробнее).

Узнайте полные пути к программам, которые вызывает команда: cron не знает ваших настроек терминала. Путь покажет команда which:

which php

Она ответит, например, /usr/bin/php — этот путь и пишите в расписании.

2. Откройте расписание

crontab -e

Если расписания у вас ещё нет, команда сообщит об этом:

no crontab for ivan - using an empty one

Это не ошибка: будет создано новое расписание.

При первом запуске команда может спросить, в каком редакторе открывать файл. Список на вашем сервере может отличаться:

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic

Choose 1-2 [1]: 

Нажмите Enter — выберется nano, отмеченный словом easiest, «самый простой». Выбор запомнится; поменять редактор можно командой select-editor.

Откроется файл с подсказками на английском — строками, которые начинаются с #. Это комментарии, cron их пропускает. Удалять их не нужно.

3. Добавьте строку задачи

Стрелкой вниз перейдите в конец файла и напишите строку. Например, запуск скрипта каждый день в 3:30 с записью всего, что он выводит, в файл:

30 3 * * * /home/ivan/backup.sh >> /home/ivan/backup.log 2>&1
  • 30 3 * — время: 30 минут, 3 часа, любой день. Как составить своё — в справочнике Cron в Linux: как устроено расписание, готовые варианты — в статье Расписание cron: готовые примеры.
  • /home/ivan/backup.sh — команда с полным путём.
  • >> /home/ivan/backup.log 2>&1 — дописывать вывод и ошибки в файл backup.log. Без этого вывод cron отправит письмом, а на сервере без почты он пропадёт.

В конце строки нажмите Enter: строка должна заканчиваться переводом строки.

Если команде нужен знак % — например, date +%F, — поставьте перед ним обратную косую черту: date +\%F. Иначе cron обрежет команду на этом знаке.

4. Сохраните расписание

В nano нажмите Ctrl+O, затем Enter, затем Ctrl+X (подробнее о nano). Если всё в порядке, терминал ответит:

crontab: installing new crontab

Расписание вступило в силу. Перезапускать cron не нужно: он раз в минуту сам проверяет, не поменялись ли расписания.

Если вместо этого появилось errors in crontab file, can't install., в строке ошибка. Нажмите y и Enter — откроется тот же текст, исправьте строку и сохраните снова. Что значат сообщения об ошибках — в разборе errors in crontab file, can't install.

Посмотреть, что сохранилось, можно командой:

crontab -l

5. Проверьте, что задача сработала

Чтобы не ждать ночи, временно поставьте задаче время на 2–3 минуты вперёд. Текущее время сервера покажет команда date — ориентируйтесь на него, а не на часы своего компьютера. После запуска откройте журнал cron:

sudo journalctl -u cron -n 20

Запуск задачи выглядит так:

Oct 10 14:32:01 myserver CRON[2345]: (ivan) CMD (/home/ivan/backup.sh >> /home/ivan/backup.log 2>&1)

Эта строка значит, что cron запустил команду. Что она сделала, смотрите в файле вывода:

cat /home/ivan/backup.log

Если там ошибка или строки CMD в журнале нет — разбор Cron не запускает скрипт: что проверить. Когда всё заработает, верните задаче нужное время через crontab -e.

Как изменить, отключить или удалить задачу

  • Изменить — откройте crontab -e, исправьте строку и сохраните.
  • Отключить на время — поставьте # в начале строки. Вернуть — уберите его.
  • Удалить одну задачу — удалите её строку. В nano строку целиком убирает Ctrl+K.

Команда crontab -r удаляет всё расписание сразу и ничего не спрашивает. Перед правками сохраните копию расписания в файл:

crontab -l > ~/crontab-copy.txt

Вернуть расписание из копии:

crontab ~/crontab-copy.txt

Задачи от имени root

Если команде нужны права администратора, не пишите sudo в строке расписания: cron не сможет ввести пароль, и задача не выполнится (почему). Добавьте задачу в расписание root:

sudo crontab -e

Это отдельное расписание: crontab -l его не покажет, смотрите его командой sudo crontab -l. Пример задачи root для резервных копий — в инструкции Резервные копии сайта.

Ошибки и как их исправить

ОшибкаЧто случилосьРазбор
errors in crontab file, can't install.В строке расписания ошибкаРазбор
missing newline before EOFНет перевода строки в конце файлаРазбор
You (ivan) are not allowed to use this program (crontab)Пользователю запрещён cronРазбор
Задача не запускаетсяВремя, пути, оболочка или праваРазбор
No MTA installed, discarding outputВывод задачи некуда отправитьРазбор

Команды и тексты сообщений сверены с пакетом cron 3.0pl1-184ubuntu2 из Ubuntu 24.04 — его справкой и исходным кодом.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026