Как настроить cron без сервера в 2026 году
Пошаговое руководство по настройке cron-задач без собственного сервера. Облачные планировщики, serverless решения и готовые сервисы для автоматизации.
Зачем нужен cron без сервера?
Классический cron требует постоянно работающего сервера. Это означает:
- Затраты на VPS - минимум 500-1000 ₽/мес за простой сервер
- Администрирование - обновления, мониторинг, бэкапы
- Риски - сервер может упасть, и задачи перестанут выполняться
Если вам нужно просто отправлять HTTP-запросы по расписанию - держать ради этого целый сервер нерационально.
Варианты решения
1. Облачные функции (AWS Lambda, Yandex Cloud Functions)
Плюсы:
- Платите только за выполнение
- Автоматическое масштабирование
Минусы:
- Сложная настройка для новичков
- Vendor lock-in
- Нужно писать код функции
# Пример: AWS EventBridge + Lambda
# Требует настройки IAM, создания функции, правил...2. GitHub Actions (бесплатно до 2000 минут/мес)
Плюсы:
- Бесплатно для публичных репозиториев
- Знакомый YAML-синтаксис
Минусы:
- Минимальный интервал - 5 минут
- Не гарантируется точное время запуска
- Нужен репозиторий
name: Scheduled Task
on:
schedule:
- cron: '0 */6 * * *' # каждые 6 часов
jobs:
call-api:
runs-on: ubuntu-latest
steps:
- run: curl -X POST https://api.example.com/webhook3. Специализированные сервисы (CronBox, cron-job.org)
Плюсы:
- Простая настройка за 2 минуты
- Веб-интерфейс
- Мониторинг и уведомления
- Не нужен код
Минусы:
- Платные тарифы для большого количества задач
Настройка cron в CronBox
Шаг 1: Регистрация
Перейдите на cronbox.ru и создайте аккаунт. Бесплатный тариф включает 5 задач.
Шаг 2: Создание задачи
- Нажмите "Создать задачу"
- Укажите URL вашего API или webhook
- Выберите метод (GET, POST, PUT, DELETE)
- Настройте расписание
Шаг 3: Настройка расписания
CronBox поддерживает стандартный cron-синтаксис:
| Выражение | Описание |
|---|---|
* * * * * | Каждую минуту |
0 * * * * | Каждый час |
0 0 * * * | Каждый день в полночь |
0 9 * * 1-5 | По будням в 9:00 |
0 */6 * * * | Каждые 6 часов |
Шаг 4: Добавление заголовков и тела запроса
Для POST-запросов можно указать:
{
"action": "cleanup",
"timestamp": "{{timestamp}}"
}CronBox поддерживает переменные:
{{timestamp}}- Unix timestamp{{date}}- текущая дата{{uuid}}- уникальный идентификатор
Шаг 5: Настройка уведомлений
Получайте алерты при ошибках:
- Telegram
- Webhook
Примеры использования
Очистка временных файлов
URL: https://api.myapp.com/cleanup
Метод: POST
Расписание: 0 3 * * * (каждый день в 3:00)Отправка дайджеста
URL: https://api.myapp.com/send-digest
Метод: POST
Расписание: 0 9 * * 1 (каждый понедельник в 9:00)Проверка здоровья сервиса
URL: https://api.myapp.com/health
Метод: GET
Расписание: */5 * * * * (каждые 5 минут)Сравнение решений
| Критерий | VPS + cron | GitHub Actions | CronBox |
|---|---|---|---|
| Стоимость | от 500 ₽/мес | Бесплатно* | от 0 ₽ |
| Настройка | 30+ минут | 10 минут | 2 минуты |
| Мониторинг | Вручную | Базовый | Встроенный |
| Минимальный интервал | 1 мин | 5 мин | 1 мин |
| Уведомления | Настраивать | Email, Telegram |
*Для публичных репозиториев
Вывод
Если вам нужно просто выполнять HTTP-запросы по расписанию - не тратьте время на настройку сервера. Используйте специализированные сервисы:
- Для простых задач - бесплатный тариф CronBox
- Для интеграции с CI/CD - GitHub Actions
- Для сложной логики - облачные функции