Cron Jobs

جدولة المهام التلقائية للوكيل. قم بتشغيل أوامر أو مطالبات في أوقات محددة أو فترات دورية.

متى تستخدم Cron

  • مهام دورية في أوقات محددة ("كل يوم الساعة 9 صباحاً")
  • تقارير/ملخصات مجدولة
  • النسخ الاحتياطي التلقائي
  • تذكيرات لمرة واحدة ("في 20 دقيقة")

إنشاء Cron Job

openclaw cron add \
  --schedule "0 9 * * MON" \
  --prompt "إرسال تقرير أسبوعي" \
  --channel telegram

صيغة الجدول (Cron Syntax)

دقيقة ساعة يوم_الشهر شهر يوم_الأسبوع
*      *    *          *    *

أمثلة:
0 9 * * *         # كل يوم الساعة 9 صباحاً
0 0 * * SUN       # كل أحد منتصف الليل
*/15 * * * *      # كل 15 دقيقة
0 18 * * MON-FRI  # أيام الأسبوع الساعة 6 مساءً

إدارة Cron Jobs

قائمة Jobs

openclaw cron list

حذف Job

openclaw cron remove <job-id>

إيقاف/تشغيل مؤقت

openclaw cron disable <job-id>
openclaw cron enable <job-id>

أمثلة عملية

تقرير صباحي يومي

openclaw cron add \
  --schedule "0 8 * * *" \
  --prompt "إرسال ملخص الطقس وأهم الأخبار اليوم" \
  --channel telegram

نسخة احتياطية أسبوعية

openclaw cron add \
  --schedule "0 0 * * SUN" \
  --command "tar -czf backup-$(date +%Y%m%d).tar.gz ~/important"

تذكير لمرة واحدة

openclaw cron add \
  --at "+20m" \
  --prompt "تذكير: اتصل بالعميل" \
  --channel telegram

Cron vs Heartbeat

استخدم Cron عندما:

  • التوقيت الدقيق مهم
  • المهمة تحتاج عزل
  • تريد نموذج/مستوى تفكير مختلف
  • تذكيرات لمرة واحدة

استخدم Heartbeat عندما:

  • فحوصات متعددة يمكن دمجها
  • تحتاج سياق المحادثة الأخير
  • التوقيت يمكن أن ينحرف قليلاً
  • تريد تقليل استدعاءات API

نصيحة

ادمج الفحوصات الدورية المتشابهة في HEARTBEAT.md بدلاً من إنشاء cron jobs متعددة. هذا يوفر استدعاءات API ويحافظ على السياق.

الإعدادات

{
  agents: {
    defaults: {
      cron: {
        enabled: true,
        maxJobs: 50,
        timezone: "UTC"
      }
    }
  }
}

الأمان

  • Cron jobs تعمل في سياق الوكيل مع نفس الأذونات
  • تجنب وضع معلومات حساسة في الأوامر
  • راجع قائمة jobs بانتظام
  • استخدم قنوات آمنة فقط للتقارير