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

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

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

Популярні

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

    IT-Wiki / Claude Code: команди і автоматизація 14 травня 2026 Переглядів: 94 Автор: 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 на твоєму сервері.

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

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