0 0 28-31 * * Cron İfadesi Ayrıştırıcı'da aç Crontab satırı GNU date (date -d tomorrow) kullanır; macOS'ta date -v+1d kullanın. Quartz ve Spring L'yi doğrudan destekler. Kubernetes ve GitHub Actions'ta aynı tarih kontrolünü işin başına ekleyin.
Alan alan
| Alan | Değer | Eşleşenler |
|---|---|---|
| Dakika | 0 | 0 |
| Saat | 0 | 0 |
| Ayın günü | 28-31 | 28, 29, 30, 31 |
| Ay | * | Her değer |
| Haftanın günü | * | Her değer |
Sonraki çalışma zamanları
Örnek: 1 Ocak 2026 sonrasındaki ilk 6 çalışma (UTC).
- 31 Oca 2026 Cmt 00:00
- 28 Şub 2026 Cmt 00:00
- 31 Mar 2026 Sal 00:00
- 30 Nis 2026 Per 00:00
- 31 May 2026 Paz 00:00
- 30 Haz 2026 Sal 00:00
Kullanıma hazır sürümler
0 0 28-31 * * [ "$(date -d tomorrow +\%d)" = 01 ] && /path/to/command Satırı crontab -e ile ekleyin. CRON_TZ veya TZ ayarlı değilse sunucunun saat diliminde çalışır.
apiVersion: batch/v1
kind: CronJob
metadata:
name: last-day-of-month
spec:
schedule: "0 0 28-31 * *"
timeZone: "Etc/UTC"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: job
image: busybox:1.36
command: ["/bin/sh", "-c", "date; echo run"] spec.timeZone ayarlayın (Kubernetes 1.27+); ayarlanmazsa zamanlama controller manager'ın saat dilimini (genellikle UTC) izler.
on:
schedule:
- cron: '0 0 28-31 * *'
workflow_dispatch: GitHub Actions her zaman UTC kullanır, en az 5 dakikalık aralıkları kabul eder ve yoğunlukta zamanlanmış çalışmaları geç başlatabilir.
0 0 0 L * ? Quartz saniyeyi en başa koyar ve ayın günü ya da haftanın günü alanından birinde ? ister. Günler pazardan başlayarak 1–7'dir; isim kullanmak daha güvenlidir.
@Scheduled(cron = "0 0 0 L * *") Spring @Scheduled(cron = …) altı alan alır: saniye ve ardından alışılmış beş alan.
SSS
› Crontab'da % neden \% olarak yazılır?
Crontab satırında % yeni satır (komutun girdisi) anlamına gelir. Tarih biçiminin shell'e bozulmadan ulaşması için \% yazın.
› 0 0 28-31 * * hangi saat diliminde çalışır?
Cron, onu çalıştıran makinenin veya hizmetin saat dilimini kullanır. Linux'ta CRON_TZ veya TZ ayarlı değilse sistem saat dilimidir; Kubernetes CronJob'ları spec.timeZone kabul eder; GitHub Actions her zaman UTC kullanır.
› Bu zamanlamayı dağıtmadan önce nasıl kontrol ederim?
0 0 28-31 * * ifadesini bu sitedeki Cron İfadesi Ayrıştırıcı'da açın. Her alanı açıklar ve sonraki çalışmaları yerel saatte veya UTC olarak doğrudan tarayıcıda listeler.