2026-05-21 Встроенный cron OpenClaw: изолированные сессии, доставка webhook на задачу и stagger перезапуска шлюза на арендованном безголовом облачном Mac Apple Silicon (HK / JP / KR / SG / US)
Команды, арендующие Mac mini M4 в Гонконге, Токио, Сеуле, Сингапуре или США и запускающие OpenClaw по SSH без GUI, переходят от реактивного чата к плановой автоматизации—ночные дайджесты репозиториев, материалы для стендапа, проверка сроков сертификатов, разбор сбоев CI в Slack или внутренний webhook. Встроенный cron работает внутри процесса шлюза, сохраняет задачи в ~/.openclaw/cron/jobs.json и будит агентов в изолированных сессиях или на heartbeat основной сессии. В этом руководстве 2026-05-21 политика заранее: тяжёлую фоновую работу — изолированный cron, лёгкие напоминания — основная сессия, сдвиг расписаний минимум на 2–5 минут, POST webhook на задачу только с TLS и общим секретом — не HTTP в открытом виде на общей аренде. Матрица сессий, таблица расписание+webhook, stagger при перезапуске, восемь шагов, триаж; ссылки на onboard + doctor, базовый launchd cron, политику инструментов MCP.
Кому нужен cron шлюза на арендованном Mac без GUI
Один launchd macOS запускает shell, но не выстраивает контекст агента, маршрутизацию модели и доставку в каналы. Cron OpenClaw закрывает разрыв: расписание живёт со шлюзом, при целом jobs.json переживает перезапуск, вывод идёт в чат или HTTP. На аренде типичны операционные сбои — пять задач в одну минуту после деплоя, совместный догон просроченных при возврате шлюза, webhook на staging, меняющий продакшен-тикеты.
- Платформенные SRE хотят JSON-дайджесты без второй VM-планировщика.
- Инженерные менеджеры — сводки ripgrep+тикеты в Токио/Сингапуре рядом с APAC-репо.
- Безопасность требует изоляции, чтобы cron не наследовал одобрения инструментов человеческой основной сессии.
Старт с главной MacXCode: шлюз там, где RTT webhook до VPC минимальна.
Изолированная, основная и именованные цели cron
Изолированная — отдельный ход cron для файлов, MCP, shell.Основная — следующий heartbeat для лёгких напоминаний.Именованная постоянная — многонедельные ops-журналы. Ошибка цели — тишина или загрязнённый чат.
| Цель | Лучше всего | Избегать | Заметка аренды |
|---|---|---|---|
| Изолированная сессия | Ночные дайджесты, MCP | Мгновенный ответ в том же треде | На одном M4 ≤2 параллельных изолированных |
| Основная + heartbeat | Напоминания, календарь | xcodebuild, большой ripgrep |
Ввод ~2k token |
| Именованная постоянная | Недельные ops-логи | Нужен эфемерный контекст | Еженедельный снимок OPENCLAW_STATE_DIR |
--cron на 2–5 минут; совместный старт даёт 429 — см. обратное давление API.
Типы расписания, webhook, матрица доставки
--at, --every, --cron (5/6 полей + IANA TZ). Разовые часто самоудаляются — проверьте аудит. Доставка webhook на задачу (2026.2.x+) POST в HTTPS — те же TLS/HMAC, что у входящих webhook OpenClaw.
| Расписание | Пример | Доставка | Чеклист без GUI |
|---|---|---|---|
--cron + TZ |
0 9 * * 1-5 Asia/Tokyo |
Slack + webhook | TZ системы vs --tz |
--every |
4h health |
только webhook | идемпотентность, runId |
--at |
smoke 45m после деплоя |
изоляция | код выхода в launchd |
Перезапуск шлюза, просрочка, гигиена jobs.json
Cron внутри шлюза — launchctl kickstart -k перезапускает и планировщик. Просроченные изолированные при старте встают в очередь вместе — новые сборки разносят пропуски, окно перезапуска всё равно рискованно. Перед апгрейдом копируйте jobs.json (чекпоинт сессии). Залп ID cron в одну секунду — предвестник 429.
После npm: openclaw doctor. Изоляция в очереди без вывода — временно основная, отключите запись — не оставляйте «тихие» планы в прод-аренде.
EnvironmentVariables plist.
Восемь шагов cron OpenClaw на арендованном Apple Silicon
openclaw doctorиlaunchctl print gui/$(id -u)/com.openclaw.gateway.- Бэкап
jobs.jsonиOPENCLAW_STATE_DIRдо первого изменения. - Один изолированный read-only дайджест, сдвиг минуты (напр.
7). - HTTPS webhook с HMAC; 2xx на staging.
- Smoke
--at 15m; автоудаление vs аудит. - Перезапуск шлюза в окне обслуживания; stagger в логах.
- Аварийное отключение: задачи off, kickstart, webhook остановлены.
- Через 7 дней — телеметрия токенов; модель или второй хост.
Пример со stagger (утро в Токио, изоляция):
openclaw cron add --cron "12 9 * * 1-5" --tz Asia/Tokyo --session isolated --message "Сводка ночных сбоев CI; только чтение." --webhook https://hooks.internal.example/ci-digest
Триаж при сбоях cron на безголовой аренде
| Симптом | Вероятная причина | Действие |
|---|---|---|
| Не срабатывает | Шлюз down или TZ | launchd; --tz vs date |
| Залп при старте | Просроченный хвост | Сдвиг; апгрейд; логи stagger |
| webhook 401/403 | Секрет не в plist | env; kickstart |
| Очередь изоляции без вывода | Регрессия dispatch | Временно основная; doctor |
FAQ
Где хранится cron? ~/.openclaw/cron/jobs.json — бэкап перед апгрейдом.
Изоляция или основная для ночных отчётов? Изоляция при тяжёлых инструментах; лёгкое — основная+heartbeat.
Почему лавина после перезапуска? Совместный догон — разнести расписание и stagger при старте.
Перед прод webhook: индекс блога и справка по SSH.
Почему аренда Mac mini M4 подходит для cron + webhook OpenClaw
M4 держит шлюз и два изолированных cron в предсказуемой unified memory — не как x86 VM со swap под ripgrep. Гонконг/Токио снижают RTT webhook в APAC; США — для US-расписаний. 24/7 без второго настольного Mac; при телеметрии — второй арендованный узел. Сравнение на ценах, репетиция в справке, VNC только для GUI-инструментов.
Арендуйте хост шлюза 24/7 для безопасного stagger cron OpenClaw
HK / JP / KR / SG / US · SSH · Mac mini M4 · webhook