Lewati ke isi

Website & Domain

Cara Membuat Cron Job di cPanel untuk Tugas Rutin Website

Langkah membuat cron job di cPanel, cara membaca jadwal lima kolom, contoh perintah PHP dan wp-cron, serta cara mematikan email notifikasi cron.

Terbit 6 menit baca

Jawaban singkat

Cron job di cPanel dibuat lewat menu Cron Jobs: pilih jadwal (lima kolom menit, jam, tanggal, bulan, hari), isi perintah dengan path lengkap, lalu simpan. Atur juga email notifikasi agar kotak masuk tidak banjir dan beri jeda cukup antar jalan.

Daftar isi
  1. Untuk apa cron job di website?
  2. Bagaimana membaca jadwal cron?
  3. Langkah membuat cron job di cPanel
  4. 1. Buka menu Cron Jobs
  5. 2. Atur email notifikasi
  6. 3. Pilih jadwal
  7. 4. Tulis perintahnya
  8. 5. Simpan dan pantau
  9. Contoh khusus WordPress
  10. Kenapa cron job tidak jalan?
  11. Pertanyaan yang sering diajukan

Punya tugas yang harus jalan sendiri setiap malam, misalnya mengirim laporan penjualan, membersihkan file sementara, atau menjalankan jadwal WordPress dengan lebih tertib? Di hosting cPanel, tugas seperti itu diserahkan ke cron job.

Cron job adalah perintah yang dijalankan server secara otomatis sesuai jadwal yang kamu tentukan. Kamu cukup membuatnya sekali di menu Cron Jobs, dan server akan menjalankannya terus sampai kamu menghapusnya. Panduan di bawah membahas cara membuatnya langkah demi langkah, termasuk kesalahan yang paling sering bikin cron "tidak jalan".

Untuk apa cron job di website?

Beberapa kegunaan yang umum di website bisnis:

  • Menjalankan wp-cron.php WordPress dari sistem, bukan menunggu ada pengunjung.
  • Mengirim email pengingat atau laporan harian dari aplikasi PHP.
  • Menghapus file cache atau log lama secara berkala.
  • Menarik data dari API pihak lain, misalnya kurs atau stok.
  • Membuat salinan database ke folder tertentu.

Kalau kamu memakai VPS tanpa panel, konsepnya sama persis, hanya saja dibuat lewat terminal. Penjelasannya ada di cara membuat cron job di Linux.

Bagaimana membaca jadwal cron?

Jadwal cron terdiri dari lima kolom, berurutan dari kiri ke kanan:

KolomArtiNilai yang boleh
MinuteMenit0 sampai 59
HourJam0 sampai 23
DayTanggal dalam bulan1 sampai 31
MonthBulan1 sampai 12
WeekdayHari dalam minggu0 sampai 6 (0 = Minggu)

Tanda * berarti "setiap". Tanda */15 berarti "setiap kelipatan 15". Beberapa contoh:

  • 0 * * * * artinya setiap jam, tepat di menit ke-0.
  • 30 2 * * * artinya setiap hari pukul 02.30.
  • */15 * * * * artinya setiap 15 menit.
  • 0 8 * * 1 artinya setiap Senin pukul 08.00.

Jam yang dipakai adalah jam server, bukan jam laptopmu. Kalau server memakai zona waktu UTC, jadwal pukul 02.30 akan jalan pukul 09.30 WIB. Tanyakan ke penyedia hosting atau lihat jam server di cPanel bila ragu.

Langkah membuat cron job di cPanel

1. Buka menu Cron Jobs

Masuk ke cPanel, lalu cari Cron Jobs (biasanya di kelompok Advanced). Kalau menu itu tidak muncul, kemungkinan penyedia hosting menonaktifkannya di paketmu. Dokumentasi cPanel menyebut fitur ini bisa dinyalakan atau dimatikan oleh penyedia lewat Feature Manager di WHM.

2. Atur email notifikasi

Di bagian atas ada kolom Cron Email. Setiap kali cron menghasilkan keluaran (output), cPanel mengirimkannya ke alamat ini. Berguna saat uji coba, tapi bisa membanjiri kotak masuk kalau cron jalan tiap 15 menit. Kosongkan alamatnya bila ingin mematikan notifikasi untuk semua cron.

3. Pilih jadwal

Di bagian Add New Cron Job, pilih jadwal siap pakai di Common Settings, misalnya "Once Per Day". Kolom Minute, Hour, Day, Month, dan Weekday akan terisi otomatis. Kamu tetap bisa mengubah angkanya manual, misalnya mengganti jam menjadi 2 agar jalan dini hari saat pengunjung sepi.

4. Tulis perintahnya

Isi kolom Command dengan path lengkap. Contoh menjalankan skrip PHP:

/usr/local/bin/php /home/namauser/public_html/skrip/laporan.php

Path PHP bisa berbeda di setiap server, apalagi bila hosting menyediakan beberapa versi PHP. Kalau ragu, tanyakan ke penyedia hosting path PHP yang sesuai versi website kamu. Ganti juga namauser dengan username cPanel kamu.

Agar cron yang ini tidak mengirim email sama sekali, tambahkan di akhir perintah:

/usr/local/bin/php /home/namauser/public_html/skrip/laporan.php >/dev/null 2>&1

5. Simpan dan pantau

Klik Add New Cron Job. Cron akan muncul di daftar Current Cron Jobs, dan dari sana kamu bisa mengedit atau menghapusnya. Untuk uji coba pertama, pasang jadwal beberapa menit ke depan dan biarkan notifikasi email aktif, supaya kamu melihat hasil atau pesan error-nya.

Contoh khusus WordPress

WordPress punya penjadwal sendiri bernama wp-cron yang hanya terpicu saat ada pengunjung. Di situs sepi, jadwal bisa terlambat. Di situs ramai, pemicunya terlalu sering. Penjelasan lengkapnya ada di apa itu wp-cron.

Dokumentasi resmi WordPress menjelaskan cara memindahkan pemicunya ke penjadwal sistem. Versi untuk cPanel kira-kira seperti ini:

  1. Tambahkan define( 'DISABLE_WP_CRON', true ); di wp-config.php, di atas baris "That's all, stop editing!".
  2. Buat cron job di cPanel, misalnya setiap 15 menit (*/15 * * * *).
  3. Isi perintahnya: wget --delete-after https://domainkamu.com/wp-cron.php >/dev/null 2>&1

Sebagian hosting tidak mengizinkan wget. Alternatifnya, jalankan file lewat PHP langsung: /usr/local/bin/php /home/namauser/public_html/wp-cron.php >/dev/null 2>&1 (sesuaikan path).

Kenapa cron job tidak jalan?

Penyebab yang paling sering ditemui:

  • Path relatif. Cron tidak berjalan dari folder website, jadi php laporan.php gagal. Selalu pakai path lengkap.
  • Path PHP salah atau versinya berbeda dengan versi website, sehingga skrip error karena fungsi tidak dikenal.
  • Izin file. Skrip shell (.sh) butuh izin eksekusi. Dokumentasi cPanel juga mengingatkan hal ini.
  • Jadwal terlalu rapat. cPanel menyarankan memberi jeda cukup agar proses sebelumnya selesai. Cron yang menumpuk bisa membebani akun dan memicu batas resource hosting.
  • Error di dalam skrip. Cek pesan di email notifikasi atau di error log cPanel.

Pertanyaan yang sering diajukan

Berapa interval paling cepat cron job di cPanel?

Format cron mendukung jadwal setiap menit, tetapi banyak penyedia hosting membatasi frekuensinya demi kestabilan server bersama. Cek ketentuan paket hostingmu, dan pakai interval selonggar mungkin yang masih memenuhi kebutuhan.

Apakah cron job tetap jalan saat saya logout dari cPanel?

Ya. Cron dijalankan oleh server, tidak bergantung pada sesi login atau komputer kamu.

Bagaimana cara tahu cron benar-benar berjalan?

Biarkan email notifikasi aktif saat uji coba, atau buat skrip menulis satu baris ke file log setiap kali jalan. Setelah yakin lancar, matikan notifikasinya.

Bisakah cron memanggil URL, bukan file?

Bisa, dengan wget atau curl bila diizinkan hosting. Cara ini berguna untuk memicu tugas aplikasi yang hanya bisa diakses lewat alamat web.

Apakah zona waktu cron bisa diubah?

Di hosting bersama biasanya mengikuti zona waktu server. Cara paling aman adalah menghitung selisihnya dengan WIB dan menyesuaikan kolom jam.

Checklist sebelum menyimpan cron job:

  • Jadwal sudah dibaca ulang sesuai jam server.
  • Perintah memakai path lengkap untuk PHP dan skrip.
  • Skrip sudah dicoba manual dan tidak error.
  • Notifikasi email aktif saat uji coba, lalu dimatikan dengan >/dev/null 2>&1.
  • Ada jeda cukup antar jalan agar proses tidak menumpuk.

Sumber & referensi

Baca juga