Что такое cron — как запускать задачу по расписанию, пока ты спишь

Смотри, разоблачение: половина крутых «автоматизаций», которыми хвастаются, — это просто скрипт и будильник. Кто-то один раз написал код, а дальше его запускают по расписанию, без человека. Вот этот будильник и называется cron. И как только ты поймёшь пять звёздочек его синтаксиса, ты сможешь заставить своё приложение делать дела, пока ты спишь.
Что такое cron простыми словами
Cron — это планировщик: он запускает нужную задачу в заданное время, сам, по кругу. Каждый день в 9 утра, каждые 5 минут, по понедельникам — как скажешь.
Аналогия: будильник на телефоне. Ты не встаёшь смотреть на часы каждую минуту — ты один раз задал время, и телефон сам звенит когда надо. Cron — такой будильник, только вместо звонка он запускает твой код.
Одна задача по расписанию называется cron job — «задание крона». Отправить утренний дайджест, забрать свежие цены раз в час, удалить старые файлы ночью — всё это cron jobs.
Пять звёздочек, которые всё решают
Расписание в cron задают строкой из пяти значений. Выглядит пугающе — */5 * * * * — но читается просто. Пять позиций, слева направо:
минута час день-месяца месяц день-недели
Звёздочка * значит «любой» — то есть «каждый». Дальше на примерах:
0 9 * * *— минута 0, час 9, дальше «каждый». Читается: каждый день в 9:00.*/5 * * * *—*/5в минутах значит «каждые 5». Читается: каждые 5 минут.0 9 * * 1— последняя позиция1это понедельник. Читается: по понедельникам в 9:00.
И всё. Не нужно зубрить — есть сайты-подсказки (например, crontab.guru), где вводишь строку и видишь расписание по-человечески. Один раз собрал строку — и забыл.
Где cron живёт — и почему ноутбук не подходит
Тут новички спотыкаются. Ты написал задачу «каждое утро слать письмо» и запустил на своём ноутбуке. А ночью закрыл крышку — и никакое письмо не ушло. Cron работает, только пока включена машина, на которой он живёт.
Поэтому cron ставят не на свой ноут, а туда, что работает всегда:
- На сервере/хостинге, где крутится твоё приложение. Многие платформы дают cron прямо в настройках — вписал расписание и команду, готово.
- В serverless-функции по расписанию. Не нужно держать включённый сервер: платформа сама будит твой код по крону и гасит после. Для «раз в день сделать дело» это идеально — платишь только за секунды работы.
- В базе данных. Некоторые базы умеют звать твой код по расписанию сами.
Правило простое: cron должен жить там, где не выключается свет.
Cron или вебхук — когда что
Их часто путают, а разница — в том, кто нажимает кнопку.
- Cron запускает по времени. «Каждый день в 9». Событий ждать не надо — сработает по часам. Дайджесты, отчёты, регулярная уборка — это cron.
- Вебхук запускает по событию. «Пришла оплата — сделай вот это». Время не при чём, важен факт события.
Если задача звучит как «регулярно, само» — тебе нужен cron. Если «в ответ на что-то» — вебхук. А связке из скрипта, расписания и пары действий часто и хватает, чтобы получился маленький ИИ-агент, который делает рутину без тебя.
Почему моя cron-задача не сработала?
Три частые причины. Первая — машина была выключена (тот самый закрытый ноутбук). Вторая — ошибка в расписании: перепутал минуты и часы, и задача ждёт другого времени; проверь строку на crontab.guru. Третья — часовой пояс: сервер часто живёт по UTC, а ты ждал по своему времени — вот и «сработало не тогда». Проверь эти три, прежде чем лезть в код.
Как часто можно запускать cron?
Обычный cron умеет минимум раз в минуту — чаще стандартным синтаксисом не выйдет. Если нужно «каждые 10 секунд», это уже не задача для крона: держи процесс запущенным постоянно или используй вебхуки на события. Но для 99% бытовых автоматизаций (раз в час, раз в день) минуты за глаза.
Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.




