Ekspresi cron: setiap jam

0 * * * * berjalan setiap jam. Berikut arti tiap field, kapan jadwal berikutnya berjalan, dan cara memakainya di crontab, GitHub Actions, Kubernetes, dan Node.js.

Diperbarui

0 * * * *
Ekspresi cron
Setiap jam
Jadwal

Buka di Generator Ekspresi Cron →

Arti 0 * * * *

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

FieldNilaiArtiRentang
Menit000–59
Jam*setiap jam0–23
Tanggal*setiap tanggal1–31
Bulan*setiap bulan1–12
Hari dalam seminggu*setiap hari0–6 (Min–Sab)

Jadwal berikutnya

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

  1. Aktifkan JavaScript untuk melihat waktu run berikutnya.

Penggunaan umum

  • Laporan dan ringkasan per jam
  • Rotasi log
  • Mengambil data analitik

Perlu diketahui

Berjalan pada menit ke-0 setiap jam. Banyak job mulai di :00, jadi pilih menit lain (misalnya 17 * * * *) agar tidak terjadi lonjakan beban. @hourly adalah jadwal yang sama.

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

crontab (crontab -e):

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

GitHub Actions (waktu dalam UTC):

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

Kubernetes CronJob:

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

Jadwal terkait

Pertanyaan yang sering diajukan

Apa ekspresi cron untuk setiap jam?
0 * * * *. Berjalan pada menit ke-0.
Zona waktu apa yang dipakai cron?
Cron klasik memakai zona waktu lokal server, dan banyak server berjalan dalam UTC. GitHub Actions selalu memakai UTC. CronJob Kubernetes 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 run berikutnya, lalu cek log job kamu setelah run terjadwal pertama.