Skip to content

مولد crontab ومنشئ تعبير cron

أنشئ تعبيرات cron وتحقق منها وفُكَّها داخل متصفحك. معاينة مباشرة للتشغيل التالي بالتوقيت المحلي أو UTC. صيغة POSIX من خمسة حقول، قوالب جاهزة، ووصف بلغة طبيعية. مجاني، خاص، بلا تسجيل.

بدون تتبّع يعمل في المتصفّح مجاني
يجري كل التحليل وحساب التشغيل التالي محلياً في متصفحك. لا تُرسَل أي بيانات إلى أي خادم.

الحقول
قوالب جاهزة

بلغة طبيعية

أقرب 5 عمليات تشغيل مجدولة

المنطقة الزمنية لمعاينة التشغيل التالي
    تمت المراجعة للتوافق مع POSIX بخمسة حقول، وصحة دلالة «أو»، وتثبيت عامل الخطوة، وتوسيع الرموز المسماة، ورفض عوامل Quartz بأخطاء مفيدة — فريق هندسة Go Tools · May 20, 2026

    ما تعبير cron؟

    تعبير cron هو سلسلة من خمسة حقول تُعرّف جدولاً متكرراً. من اليسار إلى اليمين، الحقول هي الدقيقة (0-59)، الساعة (0-23)، يوم الشهر (1-31)، الشهر (1-12)، ويوم الأسبوع (0-6، حيث يعني كلٌّ من 0 و7 الأحد). يقبل كل حقل قيمة، أو قائمة (`1,3,5`)، أو نطاقاً (`1-5`)، أو رمزاً عاماً (`*` أي قيمة)، أو خطوة (`*/15` كل 15). يُعرّف الاجتماع متى يعمل الأمر المجدول بالضبط — `0 9 * * 1-5` مثلاً يُقرأ «عند الدقيقة 0، الساعة 9، أي يوم من الشهر، أي شهر، يوم الأسبوع من الإثنين حتى الجمعة» — بلغة طبيعية «أيام الأسبوع في 9:00 صباحاً».

    ظهر cron في Unix Version 7 عام 1979 وبقيت قواعد الحقول الخمسة دون تغيير يُذكر لأكثر من أربعة عقود — شهادة على جودة الصيغة الأصلية. اليوم تُستخدم تعبيرات cron بعيداً عن ملف crontab في Unix: Kubernetes CronJobs، وسير عمل GitHub Actions، وقواعد AWS EventBridge، وأنابيب GitLab CI المجدولة، وCloudflare Workers Cron Triggers، ومنصات بلا خادم في كل سحابة — جميعها تقبل القواعد ذاتها بخمسة حقول. تعلّم cron مرة يعني معرفة كيفية جدولة المهام في كل سياق بنية تحتية حديث.

    يعرّف معيار POSIX خمسة عوامل: `*` (أي قيمة)، و`,` (قائمة قيم)، و`-` (نطاق)، و`/` (خطوة)، ورموز مسماة للأشهر (JAN-DEC) وأيام الأسبوع (SUN-SAT). تُمدّد معظم التطبيقات أيضاً خمسة اختصارات شائعة: `@yearly` (`0 0 1 1 *`)، و`@monthly` (`0 0 1 * *`)، و`@weekly` (`0 0 * * 0`)، و`@daily` (`0 0 * * *`)، و`@hourly` (`0 * * * *`). يُمدّد مُجدول Quartz (مكتبة Java) ذلك بحقل ثواني اختياري وعوامل إضافية (`?`، `L`، `W`، `#`) — مفيد لو تعمل في Java/Spring، لكنه غير قابل للنقل إلى cron القياسي. تتبع هذه الأداة معيار POSIX ذا الحقول الخمسة لأنه المتغير الغالب وما سيفهمه فعلياً خادم Linux الخاص بك، ومشغل GitHub Actions، وعنقود Kubernetes.

    تستحق إحدى غرائب POSIX cron عناية خاصة: حين يكون كلٌّ من يوم الشهر ويوم الأسبوع مقيَّداً (لا أحد منهما `*`)، يعمل الجدول حين يطابق أيُّهما — دلالة «أو»، لا «و». فـ`0 0 1 * 5` يعمل في الأول من كل شهر وفي كل يوم جمعة، لا الجُمَع التي تصادف الأول فقط. هذه أكثر مفاجآت cron شيوعاً؛ تجعلها معاينة التشغيل التالي واضحة بإظهار المواعيد الفعلية التي سينطلق فيها الجدول. تحقّق قبل النشر.

    يجري كل التحليل وحساب التشغيل التالي بالكامل في متصفحك باستخدام JavaScript — لا تُرسَل أي تعبيرات أو جداول أو أي بيانات أخرى إلى أي خادم. تحلل هذه الأداة أي تعبير POSIX cron قياسي فوراً بوصف بلغة طبيعية ومعاينة لخمس عمليات تشغيل، بخصوصية كاملة.

    تعبيرات cron مرتبطة وثيقاً بأدوات مطورين أخرى. تُصحَّح مهام cron عادةً بفحص طوابع زمنية Unix مقابل أوقات التشغيل المتوقعة، وتُوثَّق الجداول المعقدة كثيراً بصيغة JSON التي يمكن التحقق منها عبر منسق JSON لدينا. للحصول على دليل معمق يغطي دلالة «أو»، ومزالق المناطق الزمنية، ومتغيرات cron الشائعة بأمثلة في Linux وKubernetes وGitHub Actions، اقرأ مرجع جداول cron.

    # Linux crontab entry — runs every 15 minutes
    */15 * * * *  /usr/local/bin/poll-api.sh
    
    # Kubernetes CronJob — weekdays at 9:00 AM UTC
    apiVersion: batch/v1
    kind: CronJob
    metadata:
      name: daily-report
    spec:
      schedule: "0 9 * * 1-5"
      timeZone: "UTC"
      jobTemplate:
        spec:
          template:
            spec:
              containers:
                - name: report
                  image: report-runner:1.0
              restartPolicy: OnFailure
    
    # GitHub Actions workflow — hourly
    on:
      schedule:
        - cron: '0 * * * *'
    
    # AWS EventBridge — first of each month
    ScheduleExpression: cron(0 0 1 * ? *)
    # (Note: AWS uses the Quartz 6-field form with '?' for day-of-week)

    الميزات الرئيسية

    محلل POSIX حي بخمسة حقول

    محلل صارم يتبع POSIX cron: الدقيقة (0-59)، الساعة (0-23)، يوم الشهر (1-31)، الشهر (1-12 أو JAN-DEC)، يوم الأسبوع (0-6 أو SUN-SAT، مع قبول 7 أيضاً للأحد). كل العوامل القياسية (`*` `,` `-` `/`) والماكروات (`@yearly` `@monthly` `@weekly` `@daily` `@hourly`) مدعومة.

    معاينة أقرب 5 عمليات تشغيل

    تحسب أقرب خمسة أوقات تشغيل مجدولة من وقتك المحلي الحالي. بدّل بين المحلي وUTC بنقرة واحدة — الطريقة الأكثر موثوقية لاكتشاف مفاجآت المناطق الزمنية قبل نشر crontab إلى خادم في منطقة مختلفة.

    وصف بلغة طبيعية

    كل تعبير صالح يحظى بشرح بلغة طبيعية: «كل 15 دقيقة»، «أيام الأسبوع في 9:00 صباحاً»، «في 02:30 من اليوم 1 من الشهر، في يناير ويوليو». يجعل مراجعة الكود وتسليم الفريق بلا عناء — لا مزيد من تخمين ما يفعله `*/5 9-17 * * 1-5` فعلياً.

    رسائل خطأ على مستوى الحقل

    تحظى التعبيرات غير الصالحة بتغذية راجعة حمراء فورية مع تظليل الحقل المخالف وخطأ محدد: «Error in minute: value out of range [0, 59]: "60"». لا مزيد من إخفاقات crontab الصامتة التي تُكتشَف بعد ثلاثة أيام حين لم يعمل التقرير.

    شرائح قوالب للجداول الشائعة

    إحدى عشرة قالباً بنقرة واحدة تغطي الجداول التي ستستخدمها فعلاً: كل دقيقة، وكل 5/15 دقيقة، وكل ساعة، ويومياً عند منتصف الليل أو 9 صباحاً، وأيام الأسبوع في 9 صباحاً، وأسبوعياً يوم الأحد/الإثنين، وأول كل شهر، وسنوياً. انقر، اضبط، انشر.

    حقول إدخال لكل موضع

    لا تحفظ ترتيب الحقول الخمسة — خمسة حقول صغيرة معنونة الدقيقة والساعة ويوم الشهر والشهر ويوم الأسبوع تتيح لك تعديل موضع واحد في كل مرة دون إسقاط قيمة أو سوء ترتيب. التعبير الكامل في الأعلى يُعاد بناؤه تلقائياً.

    دلالة «أو» في POSIX بشكل صحيح

    حين يُقيَّد كلٌّ من يوم الشهر ويوم الأسبوع، تُطبَّق قاعدة «أو» — `0 0 1 * 5` يعمل في كل أول شهر وفي كل يوم جمعة. تجعل معاينة التشغيل التالي هذا مرئياً قبل النشر؛ لا مزيد من رسائل عطلة نهاية الأسبوع المفاجئة.

    خصوصية 100٪ في المتصفح

    تعبيرات cron الخاصة بك — التي تكشف غالباً توقيت البنية التحتية وأنماط الجدولة الداخلية — لا تغادر متصفحك أبداً. لا تُرسَل أي بيانات إلى أي خادم، ولا تسجيل، ولا تحليلات. يمكنك التحقق من ذلك في تبويب الشبكة في متصفحك. آمن لجداول الإنتاج والأنظمة الداخلية.

    رسائل خطأ واعية بـ Quartz

    إن لصقت تعبير Quartz به `?` أو `L` أو `W` أو `#`، يشرح المحلل «Quartz operators not supported — use POSIX syntax» لتعرف أن تعيد الكتابة لـcron بدلاً من تتبع إخفاق صامت. جداول Quartz لا تعمل على cron في Linux.

    متغيرات cron والمُجدولات

    <bdi>Vixie</bdi> <bdi>cron</bdi> (افتراضي <bdi>Linux</bdi>)

    <bdi>POSIX</bdi> بخمسة حقول

    الافتراضي في معظم توزيعات <bdi>Linux</bdi>. <bdi>POSIX</bdi> صارم مع امتداد <bdi>`CRON_TZ=`</bdi> للمنطقة الزمنية الصريحة. تنطبق دلالة «أو» بين يوم الشهر ويوم الأسبوع. الهدف الأساسي لهذه الأداة.

    BSD cron

    <bdi>POSIX</bdi> بخمسة حقول

    الافتراضي في <bdi>macOS</bdi> وعائلة <bdi>BSD</bdi>. متوافق مع <bdi>POSIX</bdi> مع فروق طفيفة في التطبيق عن <bdi>vixie cron</bdi>؛ تعمل معظم التعبيرات بنفس الشكل.

    مؤقتات <bdi>systemd</bdi> (<bdi>OnCalendar</bdi>)

    مواصفة تقويم، لا <bdi>cron</bdi>

    بديل لـ<bdi>cron</bdi> على <bdi>Linux</bdi> القائم على <bdi>systemd</bdi>. يستخدم صيغة <bdi>`OnCalendar: 2026-*-* 09:00:00`</bdi> — أكثر قراءة للجداول غير المتكررة لكنه غير قابل للتشغيل البيني مع تعبيرات <bdi>cron</bdi>.

    Quartz Scheduler (Java/Spring)

    6 أو 7 حقول

    يضيف حقول الثواني (إلزامية) والسنة (اختيارية)، مع عوامل <bdi>`?`</bdi> و<bdi>`L`</bdi> و<bdi>`W`</bdi> و<bdi>`#`</bdi>. مفيد لتطبيقات <bdi>Java</bdi> لكنه غير قابل للنقل إلى <bdi>cron</bdi> في <bdi>Linux</bdi>.

    AWS EventBridge

    <bdi>Quartz</bdi> بستة حقول مع `?`

    يتطلب أن يكون يوم الأسبوع أو يوم الشهر <bdi>`?`</bdi> (اتفاق <bdi>Quartz</bdi>) لا <bdi>`*`</bdi> حين يكون أحدهما فقط مقيَّداً. التعبيرات لا تُنقَل مباشرة إلى <bdi>cron</bdi> في <bdi>Linux</bdi>.

    Kubernetes CronJob

    <bdi>POSIX</bdi> بخمسة حقول + حقل <bdi>timeZone</bdi>

    جدول <bdi>POSIX</bdi> بخمسة حقول مع حقل <bdi>`spec.timeZone`</bdi> (1.27+). أنظف من الاعتماد على منطقة مضيف <bdi>kubelet</bdi>. التعبيرات تُنقَل مباشرة من <bdi>cron</bdi> في <bdi>Linux</bdi>.

    GitHub Actions

    <bdi>POSIX</bdi> بخمسة حقول

    يعمل دوماً بـ<bdi>UTC</bdi>. توقيت بأفضل جهد — قد يُتخطّى تحت الحِمل العالي. تجنّب الفترات الأقصر من 15 دقيقة. التعبيرات تُنقَل مباشرة من <bdi>cron</bdi> في <bdi>Linux</bdi>.

    أمثلة على تعبيرات cron

    كل 15 دقيقة

    */15 * * * *

    عامل الخطوة: `*/15` في حقل الدقيقة يعني «كل 15 دقيقة بدءاً من الدقيقة 0» — فالتشغيل عند :00 و:15 و:30 و:45 من كل ساعة في كل يوم. أكثر فترة شائعة لاستطلاع واجهات API وتحديث الذواكر المخبأة وفحوص النبض.

    أيام الأسبوع في الساعة 9:00 صباحاً

    0 9 * * 1-5

    النطاق `1-5` في حقل يوم الأسبوع يعني الإثنين حتى الجمعة (1=الإثنين، 5=الجمعة). يعمل في الساعة 09:00 بالضبط — مفيد لتقارير ساعات العمل، والمهام الدفعية المعتمدة على بيانات ليلية، وتذكيرات الاجتماع اليومي.

    اليوم الأول من كل شهر عند منتصف الليل

    0 0 1 * *

    يوم الشهر `1`، وكل الحقول الأدنى صفر. شائع للفوترة الشهرية، وتدوير السجلات، وتسوية نهاية الفترة. حقلا يوم الشهر ويوم الأسبوع يُقيَّدان معاً فقط حين لا يكون أيٌّ منهما `*` — وهنا يوم الأسبوع `*`، فيهم يوم الشهر وحده.

    كل 5 دقائق بين 9 صباحاً و5 مساءً، أيام الأسبوع

    */5 9-17 * * 1-5

    يجمع بين الخطوة (`*/5`) والنطاق (`9-17`) في حقلين مختلفين. مفيد للرصد المقتصر على ساعات العمل أو إفراغ الطوابير. الإجمالي: 12 تشغيلاً/ساعة × 9 ساعات × 5 أيام = 540 تشغيلاً في أسبوع العمل.

    ربع سنوي: الأول من يناير وأبريل ويوليو وأكتوبر عند منتصف الليل

    0 0 1 JAN,APR,JUL,OCT *

    أسماء أشهر في قائمة مفصولة بفواصل. جداول ربع سنوية مثل الإقفال المالي، ومراجعات تجميد الكود، وعمليات تدقيق الامتثال. يمكن مزج الأسماء والأرقام (`1,APR,7,10` يُحلَّل بنفس الشكل)، لكن التزم بأسلوب واحد للوضوح.

    مأزق «أو» في POSIX: الأول من الشهر أو كل جمعة

    0 0 1 * 5

    حين يكون كلٌّ من يوم الشهر (`1`) ويوم الأسبوع (`5`) مقيَّداً، يشغّل POSIX cron المهمة إذا طابق أيُّهما. فهذا يعمل في اليوم الأول من كل شهر وفي كل يوم جمعة — لا الجُمَع التي تصادف الأول فقط. هذه أكثر مفاجآت cron شيوعاً؛ معاينة التشغيل التالي تجعلها واضحة.

    كل يوم في الساعة 02:30 (نافذة قليلة الحركة)

    30 2 * * *

    قيم محددة للساعة والدقيقة، ورموز عامة في البقية. نافذة 02:00-04:00 UTC هي الاتفاق الفعلي للمهام الدفعية الليلية لأنها لا تتقاطع مع ساعات عمل أي منطقة أعمال كبرى. اقرنها بمفتاح UTC للتأكد من أن التشغيل يقع حيث تتوقع.

    مكافئ الماكرو: @daily

    @daily

    اختصار `@daily` (وأيضاً `@midnight`) يتمدد إلى `0 0 * * *` — كل يوم عند منتصف الليل. ماكروات أخرى: `@yearly` = `0 0 1 1 *`، `@monthly` = `0 0 1 * *`، `@weekly` = `0 0 * * 0`، `@hourly` = `0 * * * *`. الماكروات مختصرة، لكن صيغة الحقول الخمسة أكثر قابلية للنقل عبر المُجدولات (بعضها يدعم الماكروات وبعضها لا).

    كيف تبني تعبير cron

    1. 1

      اكتب أو الصق تعبير cron

      أدخل تعبير cron بخمسة حقول في حقل الإدخال أعلاه (مثلاً `*/15 * * * *`). تحلل الأداة وتتحقق أثناء كتابتك — علامة خضراء للصالح، وخطأ أحمر مع اسم الحقل لغير الصالح. الماكروات مثل `@daily` و`@hourly` ونحوها مقبولة أيضاً.

    2. 2

      أو اضبط حقول الإدخال الخمسة

      لا تحفظ ترتيب الحقول — حرّر الدقيقة أو الساعة أو يوم الشهر أو الشهر أو يوم الأسبوع منفرداً عبر الحقول المعنونة. التعبير الكامل في الأعلى يتحدث تلقائياً. استخدم `*` للرموز العامة، و`*/N` للخطوات، و`a-b` للنطاقات، و`1,3,5` للقوائم.

    3. 3

      اختر قالباً للانطلاق السريع

      اضغط أي شريحة قالب (كل 15 دقيقة، أيام الأسبوع في 9 صباحاً، إلخ) لتحميل جدول شائع، ثم اضبط الحقول لتلائم حاجتك الدقيقة. تغطي إحدى عشرة قالباً الأنماط التي ستستخدمها فعلاً في الإنتاج.

    4. 4

      تحقق من معاينة التشغيل التالي

      انظر إلى المواعيد الخمسة القادمة — بدّل بين المحلي وUTC للتأكد من أن الجدول ينطلق حيث تنوي. هذه أكثر طريقة موثوقية لاكتشاف مأزق «أو» بين يوم الشهر ويوم الأسبوع في POSIX قبل أن يلدغك في الإنتاج.

    5. 5

      انسخ والصق إلى مُجدولك

      انقر «نسخ» لأخذ التعبير. الصقه في crontab الخاص بك أو مؤقت systemd أو cron: في GitHub Actions أو AWS EventBridge أو schedule في Kubernetes CronJob أو أي مُجدول متوافق مع cron. لا تنسَ التحقق من المنطقة الزمنية للمُجدول المستهدف — انظر قسم أفضل الممارسات أدناه.

    أخطاء cron الشائعة

    فخ «أو» في POSIX: تقييد كلا حقلي اليوم

    حين يكون كلٌّ من يوم الشهر ويوم الأسبوع مقيَّداً، يشغّل POSIX cron المهمة إذا طابق أيُّهما — لا كلاهما. فـ`0 0 1 * 5` ينطلق في الأول من كل شهر وفي كل يوم جمعة، لا الجُمَع التي تصادف الأول فقط. استخدم `*` في أحد حقلي اليوم حين تريد شرطاً واحداً، أو اكتب سكربت غلاف يجري فحص «و».

    ✗ خطأ
    # المقصود: «أول جمعة من الشهر»
    0 0 1-7 * 5
    # فعلياً: ينطلق في الأيام 1-7 من الشهر أو في كل جمعة — كلا الشرطين
    ✓ صحيح
    # استخدم غلافاً لدلالة «و» الحقيقية
    0 0 * * 5  [ $(date +\%d) -le 7 ] && /your-script
    # أو اطرح أحد الشرطين واقبل الجدول الأوسع

    انحراف المنطقة الزمنية بين التطوير والإنتاج

    تستخدم جداول cron على خادم Linux منطقة النظام الزمنية، لا منطقة الكاتب المحلية. cron في 9:00 صباحاً على خادم مضبوط على UTC ينطلق في 4:00 صباحاً بتوقيت شرق الولايات المتحدة. صمّم الجداول دائماً مقابل منطقة الخادم المستهدف — يُفضَّل UTC — وثبّت المنطقة صراحة بـ`CRON_TZ=...` أعلى crontab.

    ✗ خطأ
    # كتبه مطور بتوقيت شرق الولايات المتحدة، ونُشر على خادم UTC
    0 9 * * *  /your-report.sh
    # ينطلق في 9 صباحاً UTC = 4 صباحاً بتوقيت الشرق — لم يكن هذا قصد المطور
    ✓ صحيح
    # ثبّت المنطقة، أو اكتب بـ UTC صراحة
    CRON_TZ=America/New_York
    0 9 * * *  /your-report.sh

    التباس عامل الخطوة: '*/15' مقابل '15'

    `*/15` في الدقيقة يعني «كل 15 دقيقة بدءاً من 0» (أي 0 و15 و30 و45). أما `15` وحده فيعني «عند الدقيقة 15 فقط» — تشغيل واحد في الساعة. كثيراً ما يكتب المبتدئون `15` ظناً أنها كل 15 دقيقة؛ يجعل الوصف بلغة طبيعية في الأداة الخطأ واضحاً قبل النشر.

    ✗ خطأ
    # المقصود: كل 15 دقيقة
    15 * * * *
    # فعلياً: مرة في الساعة، عند الدقيقة 15 (4 تشغيلات/ساعة أقل من المقصود)
    ✓ صحيح
    # الصحيح
    */15 * * * *
    # كل 15 دقيقة: الدقيقة 0 و15 و30 و45 من كل ساعة

    تعبير بستة حقول على مُجدول POSIX

    يدعم Quartz/Spring/node-cron حقل ثواني اختيارياً في الموضع الأول. لا تدعمه crontab على Linux ولا GitHub Actions ولا AWS EventBridge (في الغالب) ولا Kubernetes CronJob — تتوقع خمسة حقول. لصق تعبير بستة حقول يكسر الجدول صامتاً: تصبح ثوانيك دقائق، ودقائقك ساعات، إلخ.

    ✗ خطأ
    # Quartz بستة حقول نُسخ إلى crontab على Linux
    0 0 9 * * 1-5
    # يقرأ Linux: الدقيقة=0، الساعة=0، يوم الشهر=9، الشهر=*، يوم الأسبوع=1-5
    # = منتصف الليل في اليوم 9 من أشهر تطابق أيام الأسبوع — فوضى
    ✓ صحيح
    # POSIX بخمسة حقول، اطرح الثواني
    0 9 * * 1-5
    # = أيام الأسبوع في 9:00 صباحاً

    يوم شهر خارج نطاق الشهر

    لا يتحقق cron من يوم الشهر مقابل الشهر الفعلي. `0 0 31 2 *` (31 فبراير) يُحلَّل بشكل جيد لكنه لا يطابق أبداً — لفبراير 29 يوماً كحد أقصى. يفترض المبتدئون أن المحلل سيلتقط ذلك؛ لكنه لا يفعل. تعرض معاينة التشغيل التالي في هذه الأداة «لا توجد عمليات تشغيل قادمة» حين يكون التعبير صالحاً بنيوياً لكنه مستحيل منطقياً.

    ✗ خطأ
    # 30 أو 31 فبراير — لا يعمل أبداً
    0 0 30 2 *
    0 0 31 2 *
    # يُحلَّل لكن لا ينطلق أي جدول
    ✓ صحيح
    # استخدم نمط 'آخر يوم عمل من فبراير' عبر سكربت
    0 0 28-29 2 *  [ $(date -d tomorrow +\%m) = 03 ] && /your-script

    الخلط بين صيغة Quartz وPOSIX

    تعرض وثائق AWS ودروس Spring وكثير من إجابات Stack Overflow تعبيرات cron بصيغة Quartz بـ`?` أو `L` أو `W` أو `#`. لا تعمل في crontab على Linux. إذا نسخت تعبيراً بستة حقول به `?` في خانة يوم الأسبوع، سيرفضه محلل Linux (أو أسوأ، يسيء تحليله صامتاً). تلتقط هذه الأداة عوامل Quartz وتشرح الفرق.

    ✗ خطأ
    # Quartz: 'آخر جمعة من الشهر' — غير صالح في POSIX
    0 0 ? * 6L *
    ✓ صحيح
    # نهج سكربت غلاف POSIX لآخر جمعة
    0 0 25-31 * 5  /your-script
    # يعمل يوم الجمعة بين 25-31 من أي شهر

    حالات استخدام شائعة

    مهام crontab على Linux
    أنشئ مدخلات وتحقق منها لـ`/etc/crontab` أو `/etc/cron.d/*` أو ملفات `crontab -e` لكل مستخدم. استخدم معاينة التشغيل التالي للتأكد من أن الجدول يقع في الوقت الصحيح ضمن المنطقة الزمنية المُعدّة لخادمك قبل الحفظ.
    جداول Kubernetes CronJob
    أنشئ حقل `spec.schedule` لـKubernetes CronJob. يدعم Kubernetes 1.27+ أيضاً `spec.timeZone` — استخدم مفتاح UTC لتصميم جدولك بـUTC، ثم اضبط `timeZone` صراحة لتجنب الوقت المحلي لعقدة العامل.
    سير عمل مجدول في GitHub Actions
    أنشئ مدخل `cron:` تحت `on.schedule`. يعمل GitHub Actions دوماً بـUTC — بدّل المعاينة إلى UTC للتأكد من جدولك. تجنّب الفترات الأقصر من 15 دقيقة؛ يتخطى مُجدول GitHub المهام قصيرة الفاصل تحت الحِمل.
    قواعد AWS EventBridge
    أنشئ تعبير cron لقاعدة مجدولة في EventBridge. ملاحظة: يستخدم AWS صيغة Quartz بستة حقول مع `?` ليوم الأسبوع — تُصدر هذه الأداة POSIX بخمسة حقول، فستحتاج إلى التحويل ببَدء الثواني (`0`) واستبدال `*` في أحد حقلي اليوم بـ`?`.
    أنابيب CI مجدولة في GitLab
    تحقق من تعبير cron لأنبوب CI مجدول في GitLab. يستخدم GitLab صيغة POSIX بخمسة حقول — وهو ما تُصدره هذه الأداة — ومنتقي تاريخ في الواجهة، لكن صيغة cron تعطيك تحكماً أدق للفترات غير القياسية.
    Cloudflare Workers Cron Triggers
    أنشئ مدخل `[triggers.crons]` في `wrangler.toml`. يستخدم Cloudflare صيغة POSIX بخمسة حقول. أصغر فاصل دقيقة واحدة؛ ويعمل العامل بـUTC. استخدم المعاينة للتأكد من أن المُطلِق ينطلق ضمن نافذتك المتوقعة.
    جداول node-cron في Node.js
    أنشئ تعبيرات لمكتبة node-cron، التي تدعم POSIX بخمسة حقول وأيضاً حقل ثواني اختياري في المقدمة. التزم بخمسة حقول إلا إذا احتجت دقة تحت الدقيقة تحديداً — تعبيرات الحقول الستة لا تُنقَل إلى crontab على Linux.
    مراجعة الكود والتوثيق
    الصق تعبير cron من طلب سحب أو دليل تشغيل لتفهم ما يفعله فوراً — لا مزيد من التخمين في `30 7 * * 1-5` ولا إخراج بطاقة مرجع. الوصف بلغة طبيعية رائع أيضاً للتعليقات داخل الكود وملفات README.

    مرجع صيغة cron

    ترتيب الحقول: M H D M W
    الدقيقة (0-59)، الساعة (0-23)، يوم الشهر (1-31)، الشهر (1-12)، يوم الأسبوع (0-6، 7 أيضاً = الأحد). ذكرى: «My Hat Doesn't Match Wendy's». يقبل حقل يوم الأسبوع كلاً من الرموز الرقمية (0-6) والمسماة (SUN-SAT، غير حساس لحالة الأحرف).
    العوامل
    `*` = أي قيمة؛ `,` = فاصل قائمة (`1,3,5``-` = نطاق (`1-5``/` = خطوة (`*/15`، `5/10`)؛ الأسماء: JAN-DEC للشهر، وSUN-SAT ليوم الأسبوع (غير حساسة لحالة الأحرف).
    الماكروات (الاختصارات)
    `@yearly` = `0 0 1 1 *`؛ `@annually` = `0 0 1 1 *`؛ `@monthly` = `0 0 1 * *`؛ `@weekly` = `0 0 * * 0`؛ `@daily` = `0 0 * * *`؛ `@midnight` = `0 0 * * *`؛ `@hourly` = `0 * * * *`. أما `@reboot` فهو حالة خاصة غير زمنية (يعمل عند الإقلاع فقط) ويُرفَض بخطأ توضيحي.
    دلالة يوم POSIX (قاعدة «أو»)
    حين يكون كلٌّ من يوم الشهر ويوم الأسبوع مقيَّداً (لا أحد منهما `*`)، يعمل الجدول حين يطابق أيُّهما — دلالة «أو». حين يُقيَّد أحدهما فقط، يقرر ذلك الواحد. وحين يكون كلاهما `*`، يطابق كل يوم. تنطبق هذه القاعدة على vixie cron وBSD cron ومعظم تطبيقات POSIX؛ ويستخدم Quartz `?` للتمييز بين «و» و«أو».
    وضع الحقول الستة (Quartz-Lite)
    إذا احتوى إدخالك على ستة رموز مفصولة بمسافة، تعامل الأداة الأول كحقل ثواني (0-59). مفيد لـQuartz وSpring `@Scheduled(cron=...)` وnode-cron. غير قابل للنقل إلى crontab على Linux أو مُجدولات POSIX — ستعامل ثوانيك دقائق وتُزيح كل شيء بموضع واحد.
    تثبيت عامل الخطوة
    `*/N` مرتبط بأدنى قيمة في الحقل: `*/15` في الدقيقة = `0,15,30,45`، لا «كل 15 بدءاً من الآن». بقاعدة غير رمز عام: `5/15` في الدقيقة = `5,20,35,50`. قيم الخطوة التي لا تقسم نطاق الحقل بالتساوي ستتخطى قرب الالتفاف — هذا صحيح، لا خلل.
    حدود التحقق
    الدقيقة ∈ [0,59]، الساعة ∈ [0,23]، يوم الشهر ∈ [1,31]، الشهر ∈ [1,12]، يوم الأسبوع ∈ [0,7]. القيم خارج النطاق تنتج خطأً على مستوى الحقل. لا يُتحقَّق من يوم الشهر مقابل الشهر (`0 0 31 2 *` يُحلَّل بشكل جيد لكنه لا يطابق أبداً لأن فبراير لا يوم 31 له — ستعرض معاينة التشغيل التالي «لا توجد عمليات تشغيل قادمة»).
    رفض عوامل Quartz
    لا يدعم POSIX cron عوامل Quartz: `?` (بلا قيمة محددة)، و`L` (الأخير)، و`W` (أقرب يوم عمل)، و`#` (اليوم النوني). ترفضها هذه الأداة برسالة واضحة «Quartz operators not supported» بدلاً من تحليلها صامتاً كـPOSIX غير صالح. لجداول Quartz، استخدم أداة واعية بـQuartz أو مُجدول Spring بدلاً منها.
    سقف سنوات البحث عن التشغيل التالي
    يبحث حساب التشغيل التالي حتى 4 سنوات قُدماً؛ التعبيرات التي تطابق بأقل من ذلك (مثل أنماط «29 فبراير») ستعرض «لا توجد عمليات تشغيل قادمة خلال 4 سنوات». هذا مقصود لتجنب التكرار اللامحدود على أنماط مستحيلة.

    أفضل الممارسات لجداول cron

    استخدم UTC على الخوادم، وحوّل عند العرض
    اضبط خوادمك على UTC (`/etc/timezone` أو `TZ=UTC`) واكتب كل تعبيرات cron بـUTC. حوّل إلى الوقت المحلي وقت العرض فقط في لوحاتك وتقاريرك. هذا يلغي صنفاً كاملاً من أخطاء المناطق الزمنية التي تضرب بأقسى صورها أثناء انتقالات التوقيت الصيفي، حين تتضاعف جداول الوقت المحلي صامتةً أو تتخطى تشغيلاً. استخدم مفتاح UTC في هذه الأداة لتصميم جدولك بـUTC من البداية.
    تجنّب فخ «أو» بين يوم الشهر ويوم الأسبوع في POSIX
    لا تُقيّد كلاً من يوم الشهر ويوم الأسبوع إلا إذا أردت دلالة «أو». إذا أردت «كل إثنين في يناير»، فاكتب `0 0 * 1 1` (يوم الشهر `*`)؛ وإذا أردت «الأول من كل شهر»، فاكتب `0 0 1 * *` (يوم الأسبوع `*`). قاعدة «أو» في POSIX تعني أن `0 0 1 * 1` يعمل في الأول وأيضاً في كل إثنين — تقريباً ليس ما قصدته. ستلتقط معاينة التشغيل التالي ذلك إن تحققت قبل النشر.
    ثبّت منطقة الجدول الزمنية صراحة
    تدعم المُجدولات الحديثة تثبيت المنطقة الزمنية في تعريف الجدول: `CRON_TZ=America/New_York` أعلى crontab (vixie cron 3.0+)، و`spec.timeZone: "America/New_York"` لـKubernetes CronJobs 1.27+، وتعبير جدول بـ`ScheduleExpressionTimezone` لـAWS EventBridge Scheduler. ثبّت المنطقة صراحة بدل الاعتماد على افتراضي الخادم — يمكن أن تتغير مناطق الخوادم دون إنذار خلال نقل البنية التحتية.
    وزّع الحِمل عبر الدقائق، لا عند :00
    تجنّب `0 * * * *` (كل ساعة عند الدقيقة 0) للمهام غير الحرجة — على مستوى التوسع، تكدّس جدولة الأشياء عند :00 بالضبط يخلق طفرات حِمل. اختر إزاحة دقيقة عشوائية (`23 * * * *`، `41 * * * *`) لكل مهمة لتوزيع الحِمل. ينطبق ذلك على المهام اليومية: `30 3 * * *` أرفق بقاعدة بياناتك من `0 3 * * *` حين تتجمع مهام كثيرة عند 3:00.
    اجعل المهام لا تتأثر بالتكرار
    لا يوجد في cron إعادة محاولة مدمجة ولا منع تداخل ولا تعافٍ من التشغيلات الفائتة. يجب أن تكون مهمتك آمنة لتُشغَّل مرات عدة (لا تتأثر بالتكرار) وفاحصة لذاتها. بدلاً من «أرسل التقرير في 9 صباحاً»، صمّمها كـ«أرسل تقرير اليوم إن لم يُرسَل بعد» — هذا يداوي نفسه بعد التوقف، ومضاعفة الجدولة العرضية، والتشغيلات المتزامنة. عدم التأثر بالتكرار خاصية المهمة لا المُجدول، وهو الممارسة الأهم للموثوقية.
    أضف نبضاً للجداول الحرجة
    وضع الإخفاق الصامت في cron أكبر ضعفه — إذا لم ينطلق الجدول، لا شيء يخبرك. للمهام الحرجة، اجعل المهمة تستدعي خدمة نبض (Healthchecks.io، Cronitor، Dead Man's Snitch) في نهاية كل تشغيل؛ تنبهك الخدمة إذا لم يصل النبض المتوقع. يلتقط ذلك إخفاق المهمة وإخفاق الجدول نفسه. الطبقة المجانية تغطي معظم احتياجات الأفراد والفرق الصغيرة.
    تحقق بمعاينة التشغيل التالي قبل الشحن
    قبل نشر جدول cron جديد، انظر إلى المواعيد الخمسة القادمة في معاينة هذه الأداة. بدّل بين المحلي وUTC. تأكد من أن الجدول يقع حيث تنوي — لا قبل خمس دقائق، ولا في يوم خاطئ، ولا متخطياً عطلة نهاية الأسبوع التي اهتممت بها. المعاينة هي أرخص اختبار إنتاجي ممكن.

    الأسئلة الشائعة

    ماذا تفعل هذه الأداة؟
    تحلل تعبيرات cron وتتحقق منها وتشرحها داخل متصفحك، مع معاينة مباشرة لأقرب خمس عمليات تشغيل مجدولة في منطقتك الزمنية أو UTC. اكتب أي تعبير POSIX cron قياسي بخمسة حقول — أو استخدم شرائح القوالب الجاهزة وحقول الإدخال لكل موضع لبنائه دون حفظ الصيغة — وتنتج الأداة وصفاً بلغة طبيعية («كل 15 دقيقة»، «أيام الأسبوع في الساعة 9:00 صباحاً»، إلخ) إضافة إلى المواعيد الفعلية التي ستعمل فيها المهمة. تُلتقَط التعبيرات الخاطئة فوراً برسالة خطأ على مستوى الحقل لئلا تُهدر نشراً على جدول معطوب. الأداة كلها تعمل بنسبة 100٪ على جانب العميل: لا شيء يُرفع أو يُسجَّل أو يُخزَّن — آمنة لجداول crontab الإنتاجية والجداول الداخلية ذات أنماط التوقيت الحساسة.
    ما تعبير cron؟
    تعبير cron هو سلسلة من خمسة حقول تُعرّف جدولاً متكرراً. الحقول هي الدقيقة (0-59)، الساعة (0-23)، يوم الشهر (1-31)، الشهر (1-12)، ويوم الأسبوع (0-6، حيث يعني كلٌّ من 0 و7 الأحد). يقبل كل حقل قيمة، أو قائمة (`1,3,5`)، أو نطاقاً (`1-5`)، أو رمزاً عاماً (`*` = أي قيمة)، أو خطوة (`*/15` = كل 15). يُعرّف اجتماع الحقول الخمسة بالضبط متى يجب تشغيل الأمر المجدول. ظهر cron في Unix V7 عام 1979 ولا يزال اللغة الفعلية لجدولة المهام الزمنية على Linux/Unix، وفي تنسيق الحاويات (Kubernetes CronJobs)، وفي CI/CD (GitHub Actions، GitLab CI)، وفي منصات بلا خادم (AWS EventBridge، Cloudflare Workers Cron Triggers). رغم بدائل عديدة طُرحت على مدى عقود، لم يُزِح أيٌّ منها قواعد cron الخمسية المختصرة والمعبرة.
    هل تُرفع بياناتي إلى أي مكان؟
    لا. يجري كل التحليل والتحقق وحساب التشغيل التالي بنسبة 100٪ على جانب العميل في متصفحك باستخدام JavaScript. لا تُنقَل تعبيراتك أبداً، ولا تُخزَّن على أي خادم، ولا تُسجَّل، ولا تُحلَّل. هذا يجعل الأداة آمنة لجداول crontab الإنتاجية، وأنماط الجدولة الداخلية التي تكشف توقيت البنية التحتية، وأي جداول حساسة. يمكنك التحقق من ذلك في تبويب الشبكة في متصفحك — كتابة تعبير cron لا تُحرّك أي طلب شبكي. لا تستخدم الأداة ملفات تعريف ارتباط لبيانات الإدخال ولا تحليلات طرف ثالث تلتقط ما تكتبه.
    ما الفرق بين POSIX cron وQuartz؟
    POSIX cron هو المعيار ذو الحقول الخمسة المستخدَم في crontab على Unix/Linux، ومؤقتات systemd، وGitHub Actions، وGitLab CI، وAWS EventBridge، وKubernetes CronJobs، ومعظم المُجدولات. أما Quartz فمكتبة جدولة Java تضيف حقل الثواني (ستة أو سبعة حقول إجمالاً) وعوامل إضافية: `?` (بلا قيمة محددة، يُستخدم حين يتعارض يوم الشهر ويوم الأسبوع)، و`L` (الأخير — آخر يوم من الشهر، آخر جمعة، إلخ)، و`W` (أقرب يوم عمل)، و`#` (اليوم النوني في الشهر، مثلاً `2#1` = أول ثلاثاء). تطبّق هذه الأداة POSIX cron لأنه أوسع استخداماً بكثير؛ تُبلَّغ عوامل Quartz كأخطاء صيغة برسالة واضحة «Quartz operators not supported». إن احتجت Quartz، فمُجدولات Java الشهيرة مثل Quartz Scheduler و@Scheduled في Spring هي هدفك — لكن تعريفات الجداول لا تُنقَل مباشرة إلى cron على Linux.
    لماذا يعمل '0 0 1 * 5' في كل جمعة وأيضاً في الأول من الشهر؟
    هذه دلالة «أو» بين يوم الشهر ويوم الأسبوع في POSIX cron، وهي أكثر مفاجآت cron شيوعاً. القاعدة: حين يكون كلا الحقلين مقيَّداً (لا أحد منهما `*`)، يشغّل cron المهمة إذا طابق أيٌّ من الشرطين — لا كلاهما. فـ`0 0 1 * 5` (يوم الشهر=1، يوم الأسبوع=5) ينطلق في الأول من كل شهر وفي كل يوم جمعة، لا الجُمَع التي تصادف الأول فقط. إذا أردت الأخير وحده (دلالة «و» — جمعة موافقة للأول)، فلا يمكنك التعبير عنه في cron القياسي؛ ستحتاج إلى سكربت يعمل كل جمعة أو في الأول ويخرج مبكراً وفق التاريخ الفعلي. تتبع Vixie cron (الافتراضي على GNU/Linux) وBSD cron وAWS EventBridge هذه القاعدة. تجعل معاينة التشغيل التالي الجدول الفعلي واضحاً — الصق التعبيرات المشكوك فيها وتحقق قبل النشر.
    كيف أشغّل مهمة كل 30 ثانية؟
    لا يمكنك ذلك بـPOSIX cron القياسي. أصغر دقّة في cron هي دقيقة واحدة — أصغر حقل هو الدقيقة (0-59). للجداول دون الدقيقة، خياراتك: (1) شغّل مهمتين عند `* * * * *` و`* * * * *` مع `sleep 30 &&` أمام إحداهما — أسلوب فظ لكنه يعمل في vixie cron. (2) استخدم مُجدولاً يدعم الثواني مثل Quartz، أو Kubernetes CronJob مع متحكم مخصص، أو مؤقتات systemd بصيغة `OnCalendar: *-*-* *:*:00/30`. (3) شغّل خفياً طويل العمر ينام 30 ثانية بين التكرارات — الإجابة الصحيحة لمعظم احتياجات الرصد. (4) انتقل إلى مُطلِق مدفوع بالأحداث (webhook، طابور رسائل) إن كنت تحتاج فعلاً استجابة في الوقت الحقيقي. نمط «cron كل 30 ثانية» غالباً علامة على أن cron هو التجريد الخاطئ.
    أي منطقة زمنية يستخدمها cron؟
    على خادم Linux، يستخدم vixie cron المنطقة الزمنية للنظام — تُضبط عادة عبر `/etc/timezone` أو متغير البيئة `TZ`. هذا مصدر متكرر للأخطاء: cron في الساعة 9:00 صباحاً على خادم بتوقيت شرق الولايات المتحدة ينطلق في الساعة 14:00 UTC، لكنه على خادم مضبوط على UTC ينطلق في 09:00 UTC (أي 4:00 صباحاً بتوقيت الشرق). الحل إما ضبط خوادمك دائماً على UTC وكتابة كل تعبيرات cron بـUTC، أو ضبط متغير `CRON_TZ=America/New_York` أعلى crontab لتثبيت المنطقة الزمنية صراحة (مدعوم في vixie cron 3.0+). المُجدولات المُدارة تتباين: يعمل GitHub Actions دوماً بـUTC، ويدعم AWS EventBridge المنطقة الزمنية في تعريف الجدول، وأضاف Kubernetes CronJob الحقل `spec.timeZone` في الإصدار 1.27+. مفتاح UTC/المحلي في هذه الأداة يتيح لك معاينة الجدول في أيٍّ من المنطقتين — قلّب بينهما للتأكد من أن التشغيل يقع حيث تريد.
    إلى ماذا يتمدد '*/15' فعلياً؟
    عامل الخطوة `*/N` يعني «كل N بدءاً من أدنى قيمة صالحة للحقل». في الدقيقة (النطاق 0-59)، يتمدد `*/15` إلى `0,15,30,45` — أربع عمليات تشغيل في الساعة عند أرباع الساعة. الخطوة ليست «كل 15 دقيقة من الوقت الحالي»؛ بل مرتبطة بقيمة بداية الحقل. نفس المنطق للحقول الأخرى: `*/2` في الساعة يعني `0,2,4,...,22` (12 تشغيلاً)؛ و`*/3` في يوم الشهر يعني `1,4,7,...,31` (11 تشغيلاً). لقواعد خطوة غير الرمز العام (مثل `5/15`)، يبدأ التمدد من القاعدة: `5/15` في الدقيقة = `5,20,35,50`. قيم الخطوة التي لا تقسم النطاق بالتساوي ستتخطى قرب نقطة الالتفاف — هذا سلوك cron الصحيح، لا خلل. تجعل معاينة التشغيل التالي الجدول الفعلي واضحاً.
    هل أستطيع استخدام تعبير بستة حقول مع الثواني؟
    تعبيرات الحقول الستة مع حقل ثواني في المقدمة (النطاق 0-59) هي امتداد من Quartz/Spring/Cron4j، وليست POSIX. تقبل هذه الأداة تعبيرات بستة حقول حين يحتوي الإدخال على ستة رموز مفصولة بمسافة بالضبط — مفيد إذا كنت تستهدف Quartz، أو Spring `@Scheduled(cron=...)`، أو مكتبات Node.js مثل `node-cron` التي تدعم الثواني. لمُجدولات POSIX القياسية (crontab على Linux، GitHub Actions، AWS EventBridge، Kubernetes CronJob)، التزم بخمسة حقول — إضافة حقل ثواني في المقدمة ستكسر الجدول بصمت (سيُفسّر المُجدول دقيقتك ثوانٍ، وساعتك دقيقة، إلخ، فيُزيح كل شيء بمقدار واحد). عند الشك، راجع وثائق المُجدول المستهدف؛ إن لم يقل صراحة «six-field with seconds is supported»، فاستخدم خمسة حقول.
    ما أقصى فاصل يستطيع cron التعبير عنه؟
    دون حالة خارجية، يستطيع cron التعبير عن مرة سنوية موثوقة بحد أقصى عبر `0 0 D M *` (مثلاً `0 0 1 1 *` = كل أول يناير عند منتصف الليل). للفترات «كل سنتين» أو أطول، cron وحده لا يكفي — ستحتاج إلى فحص خارجي للتاريخ أعلى السكربت (مثلاً `[ $(($(date +%Y) % 2)) -eq 0 ] && /your-command` للعمل في السنوات الزوجية). أما «كل 90 يوماً» أو فترات متعددة الأيام غير المتوازية، فلا يفلح cron أيضاً: لا يوجد عامل باقي القسمة لليوم محلياً، فستكتب غلافاً يفحص يوم السنة مقابل تاريخ مرجعي. إذا كانت احتياجات الجدولة بهذا التعقيد، فكّر في مُجدول سير عمل حقيقي (Airflow، Temporal، AWS Step Functions) — قواعد cron بسيطة عمداً وتنهار مع أي شيء يتجاوز الأنماط الأسبوعية/الشهرية المنتظمة.
    كيف أتعامل مع تشغيلات فائتة بعد توقف؟
    لا تعافي في cron القياسي — إذا كان النظام معطلاً في الوقت المجدول، يُتجاهَل التشغيل ببساطة. لا سجل لـ«فاتنا هذا». للمهام الحرجة، لديك ثلاثة خيارات: (1) استخدم `anacron` (أو `systemd-cron` مع `Persistent=true`) الذي يعوّض المهام الفائتة بعد الإقلاع، مناسب للحواسيب المحمولة والأنظمة المتقطعة. (2) انتقل إلى مُجدول بإعادة محاولة مدمجة: لدى Kubernetes CronJobs الحقل `startingDeadlineSeconds` (يعمل إذا كان التأخير ضمن الموعد النهائي) و`concurrencyPolicy` (تجنب التداخل)؛ ويدعم AWS EventBridge سياسات إعادة المحاولة. (3) ابنِ مبدأ عدم التأثر بالتكرار في المهمة نفسها: بدلاً من «أرسل التقرير في 9 صباحاً»، اجعل المهمة تستعلم «هل أُنشئ تقرير اليوم؟» وتنتجه إن لم يكن — هذا يداوي نفسه بعد أي مدة توقف. الخيار 3 أقوى، ويعمل مع أي مُجدول.
    لماذا لا يعمل cron في GitHub Actions في وقته؟
    جداول GitHub Actions بأفضل جهد: قد تتأخر دقائق عدة تحت حِمل عالٍ على بنية GitHub التحتية، وتحت حِمل مرتفع جداً قد تُتخطّى كلياً (خاصة للفترات القصيرة كل خمس دقائق). يسري التحفظ نفسه على معظم المُجدولات المُدارة — تقايض التوقيت الدقيق بالقدرة على التوسع والموثوقية. التبعات العملية: (1) لا تجدول أشياء يجب أن تعمل عند ثانية محددة؛ cron مخصَّص لـ«تقريباً في هذا الوقت، يومياً». (2) للفترات القصيرة، فضّل عاملاً طويل العمر على مهمة مجدولة. (3) لمواعيد قطع مالية أو امتثالية دقيقة، استخدم خفي cron مخصصاً على خادم تتحكم فيه، أو مُجدولاً أكثر صرامة مثل AWS EventBridge Scheduler بجدول Standard. (4) في GitHub Actions تحديداً: تجنّب الفترات الأقصر من 15 دقيقة؛ كثيراً ما يتخطاها المُجدول تحت الحِمل.

    أدوات ذات صلة

    عرض جميع الأدوات →

    محوّل طابع Unix الزمني — فوري ومجاني

    التاريخ والوقت

    حوّل طوابع يونكس الزمنية (Unix Timestamp) إلى تواريخ مقروءة فوراً والعكس. يكتشف الثواني والمللي ثانية تلقائياً. أداة مجانية وخاصة تعمل في متصفّحك. جرّبها الآن.

    محوّل الأنظمة العددية — ثنائي وست عشري وعشري وثماني

    أدوات التحويل

    حوّل بين الأنظمة الثنائية والست عشرية والعشرية والثمانية وأي أساس من 2 إلى 36 فوراً — أداة مجانية أونلاين تعمل في متصفّحك. جرّبها الآن.

    محوّل Base64 — ترميز وفك ترميز أونلاين

    الترميز والتنسيق

    رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.

    محوّل CSV إلى JSON

    الترميز والتنسيق

    حوّل CSV إلى JSON في متصفحك. RFC 4180، استنتاج الأنواع، صف العنوان، أمان الأعداد الكبيرة. خصوصية 100%.

    ضغط الصور — JPEG وPNG وWebP

    أدوات التحويل

    اضغط صور JPEG وPNG وWebP أونلاين مجاناً — بياناتك لا تغادر متصفّحك أبداً. قلّل حجم الصورة حتى 80% مع الحفاظ على الجودة. معالجة دفعية لـ 20 صورة.

    JSON Diff مقارنة

    الترميز والتنسيق

    قارن ملفي JSON فوراً في متصفحك. عرض جنباً إلى جنب مع تمييز الفروق، وإخراج JSON Patch (RFC 6902)، وتجاهل الحقول المزعجة كالطوابع الزمنية والمعرّفات. خصوصية تامة، بدون رفع ملفات.