Регулярні задачі Claude Code: cron, /loop, /schedule — коли який » IT-FORMAT
» » » Регулярні задачі Claude Code: cron, /loop, /schedule — коли який
ВИП. №185· травень 2026· НІЖИН

Новий формат бізнесу — у цифрі, у вашій щоденній роботі.

Автоматизація обліку, власні розробки на BAS/1С, IP-телефонія та відеоспостереження. Пишемо про те, що робимо — і робимо те, про що пишемо.

Регулярні задачі Claude Code: cron, /loop, /schedule — коли який

IT-Wiki / Claude Code: команди і автоматизація 14 травня 2026 Переглядів: 8 Автор: Claudia
Recurring jobs — Claude Code
Editorial composition · циферблат і термінал
Перед стартом

Для cron-варіанту — Linux-хост, на якому встановлено CLI claude, виконано claude /login в інтерактивній сесії (токен зберігся у ~/.claude/), активна підписка Pro/Max або API-ключ. Для решти — звичайна робоча сесія CC.

Чотири механізми — карта

МеханізмДе живеІнтервалКоли вибирати
cron + claude -pLinux-серверхв-години-дні-тижніНезалежна від твоєї сесії регулярна задача (нічний звіт, дайджест, моніторинг)
/loopУ поточній сесіїсек-хвилини«Поллай поки X», «перевіряй білд», інтерактивний моніторинг
/scheduleCloud routinecron-виразРегулярний агент без потреби тримати локальну сесію
ScheduleWakeupВнутрішнійсек-хвилиниSelf-pacing у /loop dynamic mode (модель сама вибирає інтервал)

Якщо коротко: cron — найунiверсальніший і найдешевший спосіб; /loop — для активного моніторингу у вікні сесії; /schedule — для віддалених routine, які не хочеш тримати на своєму ноутбуці; ScheduleWakeup — внутрішнє API, рідко зустрічається явно.

Системний cron + claude -p — патерн з офісу

Це найкорисніший варіант для regular-задач, які мають крутитися незалежно від твого ноутбука. У моїй конфігурації — на офісному сервері 192.168.12.21 (Ubuntu, Hestia CP). Сервер у LAN, має доступ до MySQL, локальних файлів, інших серверів — те, чого хмарна пісочниця не дає.

Структура задачі на сервері

~/claude-tasks/<task-name>/
  CLAUDE.md                          # Контекст задачі (коротко)
  .claude/commands/<cmd>.md         # Інструкція агента (slash-команда)
  .env                                # chmod 600, креденшли
  <helper_script>.php|.py|.sh        # Допоміжні скрипти (якщо потрібно)
  <task>.log                         # Лог запусків

Логіка: для кожної регулярної задачі — окрема директорія з власним CLAUDE.md і скілом у .claude/commands/<cmd>.md. CC при старті бачить ці файли і знає, що робити.

Cron-запис

# Сервер у UTC. Київ = UTC+3 (літо) / +2 (зима).
# Понеділок 09:00 Київ (літо) = 06:00 UTC
0 6 * * 1 cd /home/petrikol/claude-tasks/weekly-digest && /usr/local/bin/claude --dangerously-skip-permissions -p "/weekly-digest" >> digest.log 2>&1

Розбір флагів:

  • cd у директорію задачі — CC підтягне CLAUDE.md і скіл з .claude/commands/.
  • /usr/local/bin/claude — повний шлях обов'язковий: PATH у cron не успадковується.
  • --dangerously-skip-permissions — автодозвіл усіх tools. Без нього cron-задача зависне на першому permission-запиті. Назва прапора лякаюча, але це єдиний спосіб для unattended-режиму. Ризик мінімізовується тим, що задача працює у виділеній директорії з обмеженими credentials.
  • -p "" — non-interactive: CC виводить відповідь і виходить. Тут передаємо ім'я скіла як slash-команду.
  • >> digest.log 2>&1 — лог у файл задачі.

Що добре працює

  • Збір з зовнішніх джерел (WebSearch, scraping) → обробка → публікація.
  • Моніторинг LAN-сервісів (Zabbix, Grafana, MikroTik API).
  • Звіти з MySQL/PostgreSQL.
  • Файлові операції (backup-перевірки, ротація).
  • Розсилки через API (Telegram, email).

Поточні задачі

  • weekly-digest — щопонеділка 06:00 UTC, бухгалтерський дайджест BAS оновлень → phpBB-форум.
  • forum-traffic-report — щонеділі 04:00 UTC, метрики phpBB → Telegram.
  • weekly-digest-bas-updates — щопонеділка 05:00 UTC, окремий дайджест для BAS-каналу.

Розбір самих скілів — у спиці «Власні скіли».

/loop — інтерактивний моніторинг

Slash-команда, яка повторює промт всередині поточної сесії з заданим інтервалом. Корисна, коли тобі треба «дочекатись» якоїсь події, або періодично перевіряти стан, не виходячи з сесії.

/loop 5m /babysit-prs

Це запустить скіл /babysit-prs кожні 5 хвилин. Зупиняється коли ти прерваш сесію або введеш будь-який інший промт.

Dynamic mode — якщо викликати /loop без інтервалу, модель сама вирішує, коли запустити наступну ітерацію через внутрішній механізм ScheduleWakeup. Працює коли інтервал залежить від ситуації (10 сек якщо щось рухається, 5 хв якщо тихо).

Коли /loop кращий за cron:

  • Тимчасова задача (поки сидиш за машиною).
  • Потрібна реакція в твоєму поточному репо (не у виділеному claude-tasks/).
  • Інтервал короткий (секунди-хвилини), де cron надмірний.

/schedule — cloud-routine

Створює віддалену агент-задачу, яка крутиться у хмарі за cron-розкладом. Корисна для:

  • Однократного відкладеного запуску («о 15:00 нагадай перевірити X»).
  • Регулярного routine, який не хочеш тримати на власному сервері.

Запускається через slash, налаштовується через web-консоль Anthropic. Працює без твого участі, але:

  • Не має доступу до твоєї LAN (тільки інтернет + API).
  • Окрема статтю тарифу.
  • Мінімальний інтервал обмежений (детальніше — в офіційній документації).

Кейси

1. Щотижневий дайджест BAS-оновлень

cron на .21, 06:00 UTC щопонеділка. CC:

  1. Читає CLAUDE.md і скіл /weekly-digest.
  2. Робить WebSearch по тематичних форумах і Telegram-каналах.
  3. Перевіряє свій publish_log.json — чи був дайджест на цьому тижні.
  4. Якщо ні — пише пост на 600-900 слів, формат bbcode.
  5. Викликає publish_forum.php (helper-скрипт у тій же папці), який робить прямий INSERT у MySQL phpBB.

Лог пишеться у digest.log. Якщо щось упало — наступного ранку у пошті повідомлення від cron.

2. /loop для babysit довгого білда

/loop 270 /check-build

Запустив білд, який триває ~25 хв. Замість сидіти й оновлювати — створив скіл /check-build (виконує npm run status, парсить вивід, повідомляє STILL_RUNNING / FAILED / SUCCESS). /loop 270 викликає його кожні 4.5 хв (~5 хв, але всередині 5-хвилинного TTL prompt-кешу).

Коли білд закінчиться — CC автоматично виведе результат у вікно. Я тим часом займаюсь іншим.

3. One-time scheduled через /schedule

/schedule о 15:00 завтра нагадай мені перевірити status reverse-proxy на .12.21 і чи довантажились алерти Zabbix після перезавантаження

Створює cloud-routine, який о вказаному часі стартує сесію, виконує перевірку (Zabbix API) і повідомляє результат. Корисно для «нагадай мені» без локального cron.

Підводні камені

Що ламається або вартує грошей

claude у cron потребує оточення. PATH, HOME, токени — нічого з цього cron не успадковує автоматично. Завжди використовуй повний шлях /usr/local/bin/claude і виконуй cd у директорію задачі. Якщо токен зберігається у ~/.claude/, переконайся, що cron-користувач — той самий, який зробив claude /login.

--dangerously-skip-permissions — мусиш йому довіряти. У cron немає кому натиснути «allow». Прапор єдиний спосіб запустити CC без блокування. Безпека забезпечується тим, що:

  • Директорія задачі окрема, з обмеженим набором скриптів.
  • .env з credentials — chmod 600.
  • CLAUDE.md містить чіткі обмеження «що можна, що ні».
  • Скіли (slash-команди) у .claude/commands/ точно описують алгоритм.

MAX ліміт ділиться з інтерактивними сесіями. Якщо в офіс-час ти активно працюєш, а вночі cron робить дайджест — це той самий ліміт. Великі дайджести (з WebSearch на 20 джерел) можуть з'їсти 30-40% денного бюджету. Планувати інтервали з запасом.

Часовий пояс сервера. Перевір timedatectl — більшість Linux-серверів у UTC. Для розкладу за київським часом — додавай +3/+2 годин.

/loop з інтервалом 5 хв (300 сек) — антипатерн. Anthropic кеш промту має TTL ~5 хв; інтервал рівно 300 сек пропускає cache. Краще або 270 сек (вкладеш у TTL), або 1200+ сек (одна cache-miss → довгий період).

/schedule рутіни на cloud — тарифікуються окремо. Не лити туди задачі, які можуть крутитись на власному сервері — це дешевше і має менше обмежень.

Cross-refs

Чек: твоя recurring-задача надійна
  • Cron-рядок використовує абсолютні шляхи (/usr/local/bin/claude, /home/user/...).
  • Перед claude -p є cd у директорію задачі.
  • Вивід зливається у локальний .log файл.
  • У директорії задачі є CLAUDE.md, .claude/commands/<cmd>.md, .env (chmod 600).
  • Скіл (у .claude/commands/) має ідемпотентний алгоритм: перевіряє «чи це вже зроблено» перед діями.
  • На сервері — окремий cron-користувач з обмеженим набором прав. Не root.
  • Лог регулярно ротуйеться (logrotate або вручну).
Актуальність

Прапори і шляхи CLI claude станом на травень 2026. Назва --dangerously-skip-permissions може зміниться у наступних релізах. Свіже — claude --help на твоєму сервері.

Опубліковано: Вчора, 18:50 · Автор: Claudia
Теги
Вхід
Опитування

Якою програмою обліку ви користуєтесь?