انتقل إلى المحتوى
use-cases / edit-crontab-from-phone / hero
CRON · PATCH · GATE 47B

حرّر crontab من هاتفك في المطار

إعلان الصعود. مهمّة التقرير اليوميّ مضبوطة على 7 صباحاً UTC، لكن المتلقّي في طوكيو والوقت خاطئ. تفتح رابط crontab على هاتفك، تضغط على الصفّ، تُغيّر حقلين، تضغط حفظ. PATCH يمرّ. المهمّة تنطلق الليلة بالجدول الجديد. لا جلسة SSH، لا jump box، لا حاسوب محمول.

اقرأ توثيق cron
use-cases / edit-crontab-from-phone / mechanism

PATCH واحد من هاتف، مدخل واحد على الجدول

خدمة cron تتحدّث JSON عبر HTTPS. متصفّح الهاتف يُرسل PATCH على UUID المدخل بحقل الجدول الجديد. crontab النظام تُعيد الخدمة حقنه. الإطلاق التالي في جسم الاستجابة.

patch.from-phone.sh
PATCH · sender
# تحرير سطر واحد على شاشة 6 بوصةcurl -X PATCH \\"https://cron.containers.hoody.com/users/me/entries/0a3c8" \\-H "Content-Type: application/json" \\-d ["schedule":"30 4 * * 1-5"]# يوم أسبوع بـ 04:30 — وقت طوكيو المحلي على المستقبل
200 OK · cron.containers.hoody.com
GET · echo
HTTP/1.1 200 OK// الإدخال يعود بالجدول الجديد والحريق التالي{"id": "0a3c8","schedule": "30 4 * * 1-5","next_run": "2026-05-05T04:30:00+09:00","enabled": true}

PATCH يحمل فقط الحقل الذي تغيّر. الخدمة تدمجه في المدخل القائم، تُعيد حساب next_run، وتُعيد حقن السطر في crontab النظام. لا جلسة SSH، لا jump host، لا حاسوب محمول.

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

ثلاث ضغطات من الإعلان إلى البوّابة

التحرير كلّه يدخل بين نداء الصعود وطابور الأولويّة. افتح الرابط. غيّر الحقل. امشِ إلى الطائرة.

OPEN

افتح رابط crontab

خدمة cron لها رابطها الخاصّ — cron.containers.hoody.com/users/me/crontab. الصفحة ذاتها تفتح في أيّ متصفّح، بما في ذلك الذي على هاتفك. المصادقة هي الرابط. لا حصن، لا طلب AnyConnect، لا طقس مفتاح-على-حاسوب.

EDIT

اضغط صفّاً، غيّر حقلاً واحداً

كل مدخل مُدار هو كائن JSON بحقول schedule وcommand وcomment وenabled. تضغط الصفّ، فيصبح حقل schedule قابلاً للتحرير، وتستبدل 0 7 * * * بـ 30 4 * * 1-5. الحقول الأخرى لا تُمسّ.

SAVE

PATCH يصل، امشِ إلى البوّابة

الحفظ يُطلق PATCH على /users/me/entries/[id]. الاستجابة تقول 200 OK وتعيد next_run الجديد. crontab النظام يُحدَّث في غضون الثانية. تُغلق التبويب وتمشي.

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

الطرق الأربعة التي يمكن أن يطرقها الهاتف

Hoody Cron يكشف CRUD صغيراً على crontab. كل مدخل مُدار له UUID؛ كل مدخل يمكن تحديثه بمعزل. أدناه نقاط النهاية الأربع التي يستخدمها الهاتف لتحرير مهمّة أو كتمها أو سردها أو حذفها.

MANAGED ENTRIES · /users/me/entries
PER-USER ISOLATION
  • GET/users/me/entriesيسرد المداخل المُدارة للمستخدم الحاليّ. كل صفّ يحمل id وschedule وcommand وcomment وenabled وnext_run.
  • PATCH/users/me/entries/[id]تحديث جزئيّ. أرسل فقط الحقول التي تُغيّرها. حقول schedule وcommand وcomment وenabled وexpires_at يمكن تحديث كلّ منها بمعزل.
  • POST/users/me/entriesأنشئ مدخلاً مُداراً جديداً من JSON. تُقبَل صيغة 5 حقول معياريّة إضافةً إلى الماكروات (@hourly, @daily, @weekly, @monthly, @yearly).
  • DELETE/users/me/entries/[id]احذف مدخلاً. الخدمة تُعيد حقن crontab النظام بدونه. مفيد حين يكون تحرير المطار هو الإصلاح الخاطئ وتريد المهمّة مزالة الآن.

نقاط النهاية وفق خدمة Hoody Cron. المسارات نسبيّة إلى https://PROJECT-CONTAINER-cron-1.SERVER.containers.hoody.com.

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

ما يمنحك إيّاه التحرير من الهاتف

الأرقام التي تهمّ شخصاً يقف عند بوّابة بشاشة 6 بوصات.

  1. FIELDS PATCHABLE5

    schedule وcommand وcomment وenabled وexpires_at. كلّ منها يمكن إرساله وحده. الحقول الأخرى تبقى دون مساس، فالتعليق الذي كتبته أمس في 9 صباحاً ينجو من تحرير المطار.

  2. ROUND-TRIP

    PATCH واحد من الهاتف. استجابة 200 واحدة بـ next_run الجديد. crontab النظام تُعيد الخدمة حقنه في الاستدعاء نفسه — لا طلب ثانٍ، لا استطلاع.

  3. SHELL SESSIONS0

    لا SSH، لا حصن، لا AnyConnect. crontab هو رابط والمصادقة هي الرابط. مفتاح الجهاز على حاسوبك يبقى في حقيبتك.

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

crontab الخاصّ بك رابط، فتحريره رابط.

حين يكون الجدول قابلاً للوصول من متصفّح، يكفّ المكان الذي تصادف وقوفك فيه عن الأهمّيّة. بوّابة الصعود مكتب ممتاز. الهاتف طرفيّة ممتازة. PATCH هو التغيير.

قبل · تحرير الكمبيوتر المحمول فقطssh prod-bastion → sudo crontab -eافتح الحاسوب · VPN · jump host · vi
بعد · رابط واحدPATCH /users/me/entries/0a3c8اضغط الصفّ · غيّر الحقل · امشِ إلى البوّابة
  • لا SSH
  • لا حاسوب محمول
  • الإطلاق التالي الآن
اقرأ Cron API
use-cases / edit-crontab-from-phone / replaces

ما يحلّ هذا محلّه

أغلب هذه الأشياء موجودة فقط لأن crontab لم يكن قابلاً للوصول من هاتف. حين يكون الجدول رابطاً، تختفي الطقوس المحيطة بالوصول إلى الجدول معه.

  • SSH من كمبيوتر محمولعشرون دقيقة من الاحتكاك قبل أن تُحسب أوّل ضغطة
  • ssh-bastion accessقفزة إضافيّة بأوراق اعتماد ومهلة خاصّة بها
  • "سأفعله حين أعود للبيت"تأخير ست ساعات لأن الحاسوب في منطقة زمنيّة أخرى
  • PagerDuty manual cron editsأيقظ المناوب لرعاية تغيير جدول من سطرين
  • Hardware key + bastion + crontab jugglingثلاثة أسرار وجلسة vi لحقل واحد
  • Slack-the-senior-engineerأيقظ شخصاً آخر لمشاركة الرابط الذي بحوزتك
use-cases / edit-crontab-from-phone / cta

وقفتَ عند البوّابة وغيّرتَ متى تنطلق المهمّة الليلة.

اقرأ توثيق cron
use-cases / edit-crontab-from-phone / related

اقرأ الآخرين