توقيت الخادم UTC مقابل التوقيت المحلي، وتحديد TZ
لا يحمل تعبير cron نفسه أي معلومة عن المنطقة الزمنية. الوقت الذي يشير إليه التعبير يتبع المنطقة الزمنية للنظام الذي يعمل عليه cron. لذلك فإن التعبير نفسه 0 9 * * * يختلف وقت تنفيذه الفعلي تبعًا لمنطقة الخادم الزمنية.
كثير من الخوادم والحاويات منطقتها الزمنية الافتراضية UTC. وبما أن كوريا (KST) هي UTC+9، فإن جدولة 0 0 * * * (منتصف الليل) على خادم UTC تُنفَّذ فعليًا في الساعة 9 صباحًا بتوقيت كوريا. من الشائع جدًا حدوث انزياح 9 ساعات لأن المستخدم يفكّر بالتوقيت المحلي عند الجدولة.
تتيح بعض إصدارات cron وضع سطر مثل CRON_TZ=Asia/Seoul في أعلى crontab لتفسير التعبير وفق منطقة زمنية محددة. وفي بيئات الحاويات يُستخدم أيضًا ضبط متغير البيئة TZ للصورة أو /etc/localtime على المنطقة المطلوبة. لكن دعم ذلك يختلف بين إصدار وآخر، لذا يلزم التحقق.
في المناطق التي تطبّق التوقيت الصيفي (DST)، قد تُتخطّى أوقات معينة أو تتكرر مرتين في اليوم الذي تتقدّم فيه الساعة أو تتأخر، فقد تُفقَد المهام المجدولة في ذلك الوقت أو تتكرر. يمكن تفادي هذه المشكلات بجدولة المهام المهمة على أساس UTC.
نصيحة عملية: فكّر في التعبير بتوقيت UTC، وتحقق دائمًا من المنطقة الزمنية الفعلية لبيئة النشر. وللعلم، فإن أوقات التنفيذ التالية التي تعرضها الأداة في هذا الموقع تستند إلى المنطقة الزمنية المحلية لمتصفحك، فقارنها بمنطقة الخادم الزمنية للاستئناس.