Cron İfadesi Ayrıştırıcı
Biçim: dakika saat ayın-günü ay haftanın-günü
Bir crontab devralırsınız ve 0 */2 * * 1-5, 15 4 1 * *, */30 8-18 * * * ile doludur. Bu ayrıştırıcı standart 5 alanlı bir cron ifadesini alır ve sade İngilizce bir açıklama (“every 2 hours on weekdays”) döndürür; ayrıca gerçekten tetikleneceği sonraki 5 zamanı verir. Eski zamanlamaları anlamak ve yeni bir tanesini dağıtmadan önce doğrulamak için kullanışlıdır.
Bir cron ifadesi nasıl ayrıştırılır
-
1
İfadeyi yapıştırın
Standart 5 alanlı bir ifade (`* * * * *`): dakika, saat, ayın günü, ay ve hafta günü.
-
2
İngilizce açıklamayı okuyun
Ayrıştırıcı her alanı sade İngilizceye çevirir, örneğin "At minute 0, every 2 hours, on day(s) of week 1-5."
-
3
Sonraki çalışma önizlemesiyle doğrulayın
Gelecek 5 tetikleme zamanı. Niyetinizle eşleşmiyorsa ifadeyi düzeltin.
-
4
Geçersiz alanları düzeltin
Alan sayısı yanlış olan veya değerleri aralık dışında kalan ifadeler, sorunlu alanı belirten bir hatayla reddedilir.
Her alanın çözümlenmesi
Her alanın kendi geçerli aralığı ve özel karakterleri vardır:
| Alan | Aralık | Desteklenen joker karakterler |
|---|---|---|
| Dakika | 0-59 | * , - / |
| Saat | 0-23 | * , - / |
| Ayın günü | 1-31 | * , - / |
| Ay | 1-12 | * , - / |
| Hafta günü | 0-7 | * , - / |
*= her değer (dakika alanındaki*her dakika demektir).1,5,10= değer listesi.1-5= değer aralığı.*/15veya0-45/15= alan aralığının başından sayılan bir adım.- Hafta günü
0ve7ikisi de Pazar anlamına gelir, yani her iki kural da kabul edilir. JAN veya MON gibi ay ve gün adları kabul edilmez; sayı kullanın.
Çözümlenmiş örnekler
| İfade | İngilizce olarak |
|---|---|
0 */2 * * 1-5 |
At minute 0 every 2 hours, Monday through Friday |
15 4 1 * * |
At 04:15 on the 1st day of every month |
*/30 8-18 * * * |
Every 30 minutes between 08:00 and 18:59 |
0 0 1,15 * * |
At midnight on the 1st and 15th of every month |
0 22 * * 0 |
At 22:00 every Sunday |
Ayrıştırıcının kabul ettikleri
- Tam olarak 5 alan: dakika, saat, ayın günü, ay ve hafta günü. Saniye (6 alan) veya yıl (7 alan) içeren Quartz ifadeleri reddedilir.
- Geçerli aralıklar: her değer kendi alanına sığmalıdır; örneğin dakika 0-59, saat 0-23, ayın günü 1-31, ay 1-12 ve hafta günü 0-7.
- Pozitif adımlar:
/sonrasındaki değer pozitif bir sayı olmalıdır (*/0reddedilir). - Adlandırılmış kısayol yok:
@daily,@rebootve benzeri kısayollar kabul edilmez. Önce bunları 5 alanlı biçimine genişletin (örneğin@daily=0 0 * * *).
Ayın günü ve hafta günü birlikte
Ayın günü ve hafta günü birlikte ayarlandığında, bu ayrıştırıcı yalnızca ikisi de eşleştiğinde çalışma planlar; yani 0 0 1 * MON yalnızca ayın 1’i Pazartesi olduğunda tetiklenir. Çoğu Linux cron uygulaması ise bu iki alanı OR olarak ele alır (hangisi eşleşirse iş çalışır). Bu yüzden ifadeyi gerçekte kullandığınız zamanlayıcıya göre tekrar kontrol edin.
Saat dilimi notu
Önizlemedeki zamanlar UTC olarak çalışan sunucu saatiyle hesaplanır. Crontab’ınız farklı bir saat dilimindeki bir makinede çalışıyorsa, burada gösterilen zamanlar o makinedeki zamanlardan farklı olabilir.
Sık Sorulan Sorular
Hayır. Yalnızca standart 5 alanlı ifadeler kabul edilir. Saniye içeren (6 alan) veya yıl içeren (7 alan) Quartz ifadeleri bir hatayla reddedilir.
Genellikle şunlardan biri: önizleme sunucu saatini (UTC) kullanırken crontab’ınız başka bir saat diliminde çalışıyor, ayın günü ve hafta günü birlikte ayarlanmış (bu ayrıştırıcı ikisinin de eşleşmesini gerektirir) ya da her saat/günün başında yeniden başlayan bir adım değeri.
Evet, Kubernetes’in kullandığı standart 5 alanlı bir ifadeyse (varsayılan olarak UTC). Buradaki önizlemenin sunucu saatini (UTC) kullandığını unutmayın: küme farklı bir saat diliminde çalışıyorsa zamanlar farklı olabilir.
Linux cron adlandırılmış kısayolları kabul eder: @reboot (başlangıçta), @yearly / @annually (0 0 1 1 *), @monthly, @weekly, @daily, @hourly. Bu ayrıştırıcı bunları kabul etmez; bu yüzden kısayolu eşdeğer 5 alanlı ifadeye genişletip öyle yapıştırın.
İlgili Araçlar
ASCII Tablosu Referansı
NUL, LF ve DEL dahil her kod için ondalık, onaltılık, sekizlik ve ikili değerlerle HTML sayısal karakter başvurusu gösterimini sunan tam ASCII tablosu.
HTML Karakter Referansı
HTML varlıklarının aranabilir listesi; adlandırılmış ve sayısal kodlarıyla birlikte özel karakter ve semboller için tek tıkla kopyalama.
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
Klavye kısayolları başvurusu
macOS, Windows ve Linux’ta VS Code, Chrome ve GNU Readline kullanan Bash için belgelenmiş varsayılan kısayolları arayın.
EditorConfig Oluşturucu
Girinti stili ve boyutu, satır sonu, karakter kümesi ve boşluk kurallarınızla bir .editorconfig dosyası oluşturarak IDE ve editörler arasında tutarlı biçimlendirme sağlayın.
E-posta Doğrulayıcı
Bir e-posta adresini doğrulayın: RFC 5322 sözdizimi kontrolü, canlı MX kaydı sorgulama, ayrıca yerel kısım, alan adı ve uzunluk bilgileri. Hiçbir e-posta gönderilmez.
Araç diğer dillerde mevcuttur
- Bộ phân tích biểu thức Cron [VI]
- Cron-Ausdrucksparser [DE]
- Analisador de Expressões Cron [PT]
- Pengurai Ekspresi Cron [ID]
- Cron 표현식 파서 [KO]
- محلل تعبيرات Cron [AR]
- Parser för cron-uttryck [SV]
- Cron-expressieparser [NL]
- Analyseur d'expressions Cron [FR]
- เครื่องมือแปลความหมายนิพจน์ Cron [TH]
- Parser wyrażeń cron [PL]
- cron式パーサー [JA]
- Analizador de Expresiones Cron [ES]
- Cron Expression Parser [EN]
- Parser di Espressioni Cron [IT]
- Парсер cron-выражений [RU]
- Cron 表达式解析器 [ZH]