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.
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
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.phpWordPress 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:
| Kolom | Arti | Nilai yang boleh |
|---|---|---|
| Minute | Menit | 0 sampai 59 |
| Hour | Jam | 0 sampai 23 |
| Day | Tanggal dalam bulan | 1 sampai 31 |
| Month | Bulan | 1 sampai 12 |
| Weekday | Hari dalam minggu | 0 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 * * 1artinya 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:
- Tambahkan
define( 'DISABLE_WP_CRON', true );diwp-config.php, di atas baris "That's all, stop editing!". - Buat cron job di cPanel, misalnya setiap 15 menit (
*/15 * * * *). - 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.phpgagal. 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.


