Ekspresi cron: pada hari terakhir setiap bulan

0 0 28-31 * * berjalan pada hari terakhir setiap bulan. Berikut arti tiap field, waktu jalan berikutnya, dan cara memakainya di crontab, GitHub Actions, Kubernetes, serta Node.js.

Diperbarui

0 0 28-31 * *
Ekspresi cron
Pada hari terakhir setiap bulan
Jadwal

Buka di Cron Expression Generator →

Arti 0 0 28-31 * *

Cron membaca lima field dari kiri ke kanan: menit, jam, tanggal dalam bulan, bulan, dan hari dalam minggu. Untuk pada hari terakhir setiap bulan, nilainya adalah:

FieldNilaiArtiNilai yang diizinkan
Menit000–59
Jam000:000–23
Tanggal dalam bulan28-3128 sampai 311–31
Bulan*setiap bulan1–12
Hari dalam minggu*setiap hari dalam minggu0–6 (Min–Sab)

Jadwal berikutnya

Dihitung di browser kamu untuk zona waktu kamu. Di server, cron memakai zona waktu server (sering UTC).

  1. Aktifkan JavaScript untuk melihat waktu jalan berikutnya.

Penggunaan umum

  • Penutupan akhir bulan
  • Laporan bulanan final

Perlu diketahui

Cron standar tidak punya nilai “hari terakhir”. Jalankan pada tanggal 28–31 dan biarkan perintah keluar jika besok bukan tanggal 1: [ "$(date -d tomorrow +\%d)" = 01 ] && /job.sh. Quartz dan beberapa scheduler mendukung L secara langsung.

Pakai di crontab, GitHub Actions, Kubernetes, dan Node.js

crontab (crontab -e):

0 0 28-31 * * /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1

GitHub Actions (waktu dalam UTC):

on:
  schedule:
    - cron: '0 0 28-31 * *'

Kubernetes CronJob:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-job
spec:
  schedule: "0 0 28-31 * *"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: my-job
              image: alpine:3
              command: ["sh", "-c", "echo running"]

Node.js (node-cron):

import cron from 'node-cron';
cron.schedule('0 0 28-31 * *', () => {
  // your job
});

Jadwal terkait

Pertanyaan yang sering diajukan

Apa ekspresi cron untuk hari terakhir setiap bulan?
0 0 28-31 * *. Berjalan pada menit 0; pukul 00:00; tanggal 28 sampai 31.
Zona waktu apa yang dipakai cron?
Cron klasik memakai zona waktu lokal server, dan banyak server berjalan di UTC. GitHub Actions selalu memakai UTC. Kubernetes CronJob memakai zona waktu controller kecuali kamu mengatur spec.timeZone (misalnya Europe/Berlin).
Bagaimana cara menguji ekspresi cron?
Tempel ekspresinya di Cron Expression Generator untuk melihatnya dalam bahasa biasa beserta waktu jalan berikutnya, lalu cek log job kamu setelah jadwal pertama berjalan.