سازنده و توضیحدهندهٔ عبارت Cron
یک زمانبندی crontab را با چند کلیک بسازید یا عبارت موجود را جایگذاری کنید. توضیح به زبان ساده، اعتبارسنجی هر فیلد و 10 زمان اجرای بعدی را در منطقهٔ زمانی خود میبینید.
اجرا در مرورگر شمابدون ثبتنامبدون آپلود
سازندهٔ بصری
10 اجرای بعدی
نحوهٔ استفاده از سازندهٔ عبارت Cron
- یک عبارت cron مانند
*/15 * * * *تایپ کنید یا روی یکی از پیشتنظیمها کلیک کنید. - توضیح به زبان ساده را بخوانید تا مطمئن شوید همان کاری را میکند که انتظار دارید. فیلدهای نامعتبر همراه با دلیل برجسته میشوند.
- با تبهای سازندهٔ بصری دقیقه، ساعت، روز ماه، ماه و روز هفته را با گزینههای هر، هر N، مشخص یا بازه تنظیم کنید.
- 10 زمان اجرای بعدی را بررسی کنید و اگر منطقهٔ زمانی سرور با شما فرق دارد، آن را انتخاب کنید.
- عبارت را در crontab، CronJob در Kubernetes،
scheduleدر GitHub Actions یا پیکربندی CI کپی کنید.
سینتکس cron در یک دقیقه
یک عبارت cron استاندارد پنج فیلد دارد که با فاصله از هم جدا میشوند:
┌───────────── minute (0-59)
│ ┌─────────── hour (0-23)
│ │ ┌───────── day of month (1-31)
│ │ │ ┌─────── month (1-12 or JAN-DEC)
│ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
│ │ │ │ │
* * * * * command
| نماد | معنا | مثال |
|---|---|---|
* | هر مقدار | * * * * * هر دقیقه |
, | فهرست | 0 9,17 * * * ساعت 09:00 و 17:00 |
- | بازه | 0 9 * * 1-5 روزهای کاری ساعت 09:00 |
/ | گام | */10 * * * * هر 10 دقیقه |
@daily | ماکرو | معادل 0 0 * * *؛ همچنین @hourly، @weekly، @monthly، @yearly، @reboot |
دام روزِ ماه / روزِ هفته
وقتی هر دو فیلد روز محدود شده باشند (هیچکدام با * شروع نشود)، cron زمانی اجرا میشود که هر یک از آنها برقرار باشد. بنابراین 0 0 13 * 5 در هر روز 13 ماه و هر جمعه اجرا میشود، نه فقط در جمعههای 13ام. این سازنده از همین قاعدهٔ Vixie cron پیروی میکند و در توضیح از «یا» استفاده میکند تا متوجه آن شوید.
منطقهٔ زمانی و ساعت تابستانی
cron از منطقهٔ زمانی محلی سرور استفاده میکند، مگر اینکه طور دیگری پیکربندی شده باشد (CRON_TZ= در برخی نسخههای cron، timeZone در CronJobهای Kubernetes؛ GitHub Actions همیشه از UTC استفاده میکند). همان منطقه را در پیشنمایش اجراها انتخاب کنید. کارهایی که در شکاف ساعت تابستانی زمانبندی شدهاند (مثلاً 02:30 در شب جلو کشیدن ساعت) در پیشنمایش حذف میشوند، چون آن زمان محلی هرگز رخ نمیدهد.
زمانبندیهای رایج
*/5 * * * *: هر 5 دقیقه0 */2 * * *: هر 2 ساعت، سر ساعت0 9 * * 1-5: ساعت 09:00 در روزهای کاری0 0 1 * *: نیمهشب اولین روز هر ماه0 3 * * 0: ساعت 03:00 هر یکشنبه، بازهٔ رایج برای پشتیبانگیری
پرسشهای متداول
چطور یک cron job را هر 5 دقیقه اجرا کنم؟
*/5 * * * * استفاده کنید. گام /5 در فیلد دقیقه یعنی هر پنج دقیقه با شروع از 0: دقیقههای 00، 05، 10 و به همین ترتیب.آیا cron از ثانیه پشتیبانی میکند؟
یکشنبه 0 است یا 7؟
SUN یا MON-FRI هم بنویسید.چرا کار من در روزهای بیشتری از انتظار اجرا میشود؟
* بگذارید تا فقط دیگری شرط باشد.