Zum Inhalt springen
use-cases / edit-crontab-from-phone / hero
CRON · PATCH · GATE 47B

Bearbeite deine Crontab vom Handy aus, am Flughafen

Boarding-Ansage. Der tägliche Report-Job ist auf 7 Uhr UTC gesetzt, aber der Empfänger ist in Tokio und die Zeit stimmt nicht. Du öffnest die Crontab-URL auf deinem Handy, tippst auf die Zeile, änderst zwei Felder, drückst Speichern. PATCH geht durch. Der Job feuert heute Nacht nach dem neuen Schedule. Keine SSH-Session, keine Jump-Box, kein Laptop.

Cron-Docs lesen
use-cases / edit-crontab-from-phone / mechanism

Ein PATCH vom Handy, ein Eintrag im Schedule

Der Cron-Service spricht JSON über HTTPS. Der Browser des Handys sendet ein PATCH auf die UUID des Eintrags mit dem neuen Schedule-Feld. Die System-Crontab wird vom Service neu injected. Der nächste Lauf steht im Response-Body.

patch.from-phone.sh
PATCH · Sender
# Zwei-Zeilen-Edit auf einem 6-Zoll-Bildschirmcurl -X PATCH \\"https://cron.containers.hoody.com/users/me/entries/0a3c8" \\-H "Content-Type: application/json" \\-d ["schedule":"30 4 * * 1-5"]# Werktag um 04:30 — lokale Tokio-Zeit beim Empfänger
200 OK · cron.containers.hoody.com
GET · echo
HTTP/1.1 200 OK// der Eintrag kommt mit dem neuen Schedule und dem nächsten Lauf zurück{"id": "0a3c8","schedule": "30 4 * * 1-5","next_run": "2026-05-05T04:30:00+09:00","enabled": true}

Der PATCH trägt nur das Feld, das sich geändert hat. Der Service merged es in den existierenden Eintrag, berechnet next_run neu und injected die Zeile wieder in die System-Crontab. Es gibt keine SSH-Session, keinen Jump-Host, keinen Laptop.

use-cases / edit-crontab-from-phone / moves

Drei Taps von der Ansage zum Gate

Der gesamte Edit passt zwischen Boarding-Call und Priority-Queue. URL öffnen. Feld ändern. Zum Flieger laufen.

OPEN

Die Crontab-URL öffnen

Der Cron-Service hat seine eigene URL — cron.containers.hoody.com/users/me/crontab. Dieselbe Seite öffnet sich in jedem Browser, auch in dem auf deinem Handy. Auth ist die URL. Kein Bastion, kein AnyConnect-Prompt, kein Schlüssel-auf-Laptop-Ritual.

EDIT

Tippe auf eine Zeile, ändere ein Feld

Jeder Managed Entry ist ein JSON-Objekt mit schedule, command, comment, enabled. Du tippst die Zeile, das Schedule-Feld wird editierbar, du ersetzt 0 7 * * * durch 30 4 * * 1-5. Die anderen Felder bleiben unberührt.

SAVE

PATCH geht durch, lauf zum Gate

Speichern feuert ein PATCH auf /users/me/entries/[id]. Die Antwort sagt 200 OK und gibt den neuen next_run zurück. Die System-Crontab ist innerhalb der Sekunde aktualisiert. Du schließt den Tab und läufst los.

use-cases / edit-crontab-from-phone / facts

Die vier Routen, die ein Handy treffen kann

Hoody Cron exposed ein kleines CRUD über die Crontab. Jeder Managed Entry hat eine UUID; jeder Eintrag kann isoliert gepatcht werden. Unten sind die vier Endpoints, die das Handy nutzt, um einen Job zu bearbeiten, stummzuschalten, aufzulisten oder zu löschen.

MANAGED ENTRIES · /users/me/entries
PER-USER-ISOLATION
  • GET/users/me/entriesListet Managed Entries für den aktuellen User. Jede Zeile trägt id, schedule, command, comment, enabled, next_run.
  • PATCH/users/me/entries/[id]Partial Update. Sende nur die Felder, die du änderst. schedule, command, comment, enabled und expires_at können jeweils isoliert gepatcht werden.
  • POST/users/me/entriesErstellt einen neuen Managed Entry aus JSON. Standard 5-Feld-Schedule plus Macros (@hourly, @daily, @weekly, @monthly, @yearly) werden akzeptiert.
  • DELETE/users/me/entries/[id]Entfernt einen Eintrag. Der Service injected die System-Crontab ohne ihn neu. Nützlich, wenn der Flughafen-Edit der falsche Fix war und du den Job vorerst weg haben willst.

Endpoints gemäß Hoody Cron-Service. Pfade sind relativ zu https://PROJECT-CONTAINER-cron-1.SERVER.containers.hoody.com.

use-cases / edit-crontab-from-phone / capacity

Was dir der Phone-Edit gibt

Die Zahlen, die für eine Person zählen, die mit einem 6-Zoll-Bildschirm an einem Gate steht.

  1. PATCHBARE FELDER5

    schedule, command, comment, enabled, expires_at. Jedes kann eigenständig gesendet werden. Die anderen Felder bleiben unberührt, sodass der Kommentar, den du gestern um 9 Uhr geschrieben hast, den Flughafen-Edit überlebt.

  2. ROUND-TRIP

    Ein PATCH vom Handy. Eine 200-Response mit dem neuen next_run. Die System-Crontab wird vom Service im selben Call neu injected — kein zweiter Request, kein Polling.

  3. SHELL-SESSIONS0

    Kein SSH, kein Bastion, kein AnyConnect. Die Crontab ist eine URL und die Auth ist die URL. Der Hardware-Key auf deinem Laptop bleibt in deiner Tasche.

use-cases / edit-crontab-from-phone / punchline

Deine Crontab ist eine URL, also ist das Bearbeiten eine URL.

Wenn der Schedule aus einem Browser erreichbar ist, hört der Ort, an dem du gerade stehst, auf wichtig zu sein. Das Boarding-Gate ist ein gutes Büro. Das Handy ist ein gutes Terminal. Der PATCH ist die Änderung.

VORHER · NUR-LAPTOP-EDITssh prod-bastion → sudo crontab -eLaptop öffnen · VPN · Jump-Host · vi
NACHHER · EINE URLPATCH /users/me/entries/0a3c8Zeile tippen · Feld ändern · zum Gate laufen
  • kein SSH
  • kein Laptop
  • nächster Lauf ist jetzt
Cron API lesen
use-cases / edit-crontab-from-phone / replaces

Was das ersetzt

Das meiste davon existiert nur, weil die Crontab vom Handy aus nicht erreichbar war. Wenn der Schedule eine URL ist, verschwinden die Rituale rund um den Zugang zum Schedule mit ihm.

  • SSH von einem LaptopZwanzig Minuten Friction, bevor der erste Tastenanschlag zählt
  • ssh-bastion-ZugangEin zusätzlicher Hop mit eigenen Credentials und Timeout
  • "Ich mach's, wenn ich zu Hause bin"Sechs Stunden Verzögerung, weil der Laptop in einer anderen Zeitzone liegt
  • PagerDuty manuelle Cron-EditsDen On-Call paging, um eine Zwei-Zeilen-Schedule-Änderung zu babysitten
  • Hardware-Key + Bastion + Crontab-JonglierenDrei Secrets und eine vi-Session für ein Feld
  • Slack-an-den-Senior-EngineerEinen anderen Menschen wecken, um die URL zu teilen, die du schon hast
use-cases / edit-crontab-from-phone / cta

Du standst am Gate und hast geändert, wann der Job heute Nacht feuert.

Cron-Docs lesen
use-cases / edit-crontab-from-phone / related

Lies die anderen