Ekspresi cron: setiap kuartal

0 0 1 1,4,7,10 * berjalan setiap kuartal. Berikut arti tiap field, kapan jalannya berikutnya, dan cara memakainya di crontab, GitHub Actions, Kubernetes, dan Node.js.

Diperbarui

0 0 1 1,4,7,10 *
Ekspresi cron
Setiap kuartal
Jadwal

Buka di Generator Ekspresi Cron →

Arti 0 0 1 1,4,7,10 *

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

FieldNilaiArtiRentang yang diizinkan
Menit000–59
Jam000:000–23
Tanggal dalam bulan111–31
Bulan1,4,7,10Januari, April, Juli, Oktober1–12
Hari dalam minggu*setiap hari dalam minggu0–6 (Min–Sab)

Waktu jalan berikutnya

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

  1. Aktifkan JavaScript untuk melihat waktu jalan berikutnya.

Penggunaan umum

  • Laporan kuartalan
  • Rotasi kredensial
  • Pengarsipan

Perlu diketahui

Tengah malam pada 1 Januari, 1 April, 1 Juli, dan 1 Oktober. 0 0 1 */3 * sama saja.

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

crontab (crontab -e):

0 0 1 1,4,7,10 * /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1

GitHub Actions (waktu dalam UTC):

on:
  schedule:
    - cron: '0 0 1 1,4,7,10 *'

Kubernetes CronJob:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-job
spec:
  schedule: "0 0 1 1,4,7,10 *"
  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 1 1,4,7,10 *', () => {
  // your job
});

Jadwal terkait

Pertanyaan yang sering diajukan

Apa ekspresi cron untuk setiap kuartal?
0 0 1 1,4,7,10 *. Artinya dijalankan pada menit 0; jam 00:00; tanggal 1; bulan Januari, April, Juli, Oktober.
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 ke Generator Ekspresi Cron untuk melihatnya dalam bahasa biasa beserta waktu jalan berikutnya, lalu cek log job kamu setelah eksekusi terjadwal pertama.