Promo Hosting Unlimited — Diskon hingga 50%
Home/Blog
Tutorial · 8 menit baca · 25 Maret 2026

Panduan Cron Job di cPanel: Otomatisasi Tugas Server (Lengkap)

Tutorial setup cron job di cPanel untuk backup database, send email, jalankan script PHP/Node.js terjadwal, plus syntax cron lengkap.

Home / Blog / Tutorial

Apa Itu Cron Job?

Cron job adalah scheduled task di server Linux yang menjalankan command/script secara otomatis pada waktu tertentu. Contoh use case:

  • Backup database tiap malam jam 2
  • Kirim email reminder ke customer tiap pagi
  • Refresh cache website tiap jam
  • Sync data dari API eksternal tiap 15 menit
  • Trigger WordPress wp-cron secara real (bukan virtual)
  • Generate report bulanan otomatis

Tanpa cron, semua tugas harus dijalankan manual atau bergantung pada user trigger (lemot & tidak reliable).

Setup Cron di cPanel

  1. Login cPanel
  2. Section Advanced → klik Cron Jobs
  3. Section "Cron Email": isi email Anda untuk notifikasi output cron (recommended)
  4. Section "Add New Cron Job":
    • Common Settings: dropdown preset (Once Per Hour, Daily, Weekly, dll)
    • Atau isi manual: Minute, Hour, Day, Month, Weekday
    • Command: command yang akan dijalankan
  5. Klik Add New Cron Job

Cron langsung aktif. Edit/delete dari list di bawah.

Memahami Syntax Cron

Format cron: * * * * * command

┌─── Menit (0-59)
│ ┌─ Jam (0-23)
│ │ ┌─ Tanggal (1-31)
│ │ │ ┌─ Bulan (1-12)
│ │ │ │ ┌─ Hari (0-7, 0&7=Minggu)
│ │ │ │ │
* * * * * command

Contoh:

  • 0 2 * * * — tiap hari jam 02:00
  • */15 * * * * — tiap 15 menit
  • 0 */6 * * * — tiap 6 jam (00:00, 06:00, 12:00, 18:00)
  • 0 9 * * 1 — tiap Senin jam 09:00
  • 0 0 1 * * — tiap tanggal 1 bulan jam 00:00
  • 30 23 * * 0 — tiap Minggu jam 23:30
  • 0 8-17 * * 1-5 — tiap jam dari 08:00–17:00, Senin–Jumat

Tool: crontab.guru — generate & explain cron syntax visual.

Contoh Command yang Sering Dipakai

1. Jalankan Script PHP

/usr/local/bin/php /home/username/public_html/script.php

Cek path PHP di cPanel: section Software → MultiPHP Manager. Untuk PHP 8.2: /usr/local/bin/ea-php82.

2. Jalankan WordPress wp-cron Real (Disable Virtual)

Step 1: edit wp-config.php tambahkan define('DISABLE_WP_CRON', true);

Step 2: cron job tiap 15 menit:

*/15 * * * * /usr/local/bin/php /home/username/public_html/wp-cron.php >/dev/null 2>&1

Manfaat: lebih reliable, tidak slow first-visitor.

3. Backup Database

0 2 * * * mysqldump -u dbuser -ppassword dbname | gzip > /home/username/backups/db-$(date +\%Y\%m\%d).sql.gz

4. Hit URL (curl)

0 * * * * curl -s https://namadomain.com/cron/refresh-cache >/dev/null

5. Jalankan Node.js

0 3 * * * cd /home/username/app && /home/username/.nvm/versions/node/v20/bin/node script.js

6. Cleanup Old Files

0 0 * * 0 find /home/username/tmp -type f -mtime +7 -delete

Tips & Best Practice

  • Suppress output: tambahkan >/dev/null 2>&1 di akhir command jika tidak butuh email per run
  • Log ke file: >> /home/user/logs/cron.log 2>&1 untuk debug
  • Escape karakter %: di cPanel pakai \% bukan % (cron interpret % sebagai newline)
  • Set absolute path: jangan andalkan PATH environment, pakai full path command
  • Test command manual dulu via SSH/Terminal sebelum schedule
  • Frequency rasional: jangan tiap detik (overload server). Saung Hosting batasi minimal interval 5 menit untuk shared
  • Cek status: cron job → kolom output tampil ketika eksekusi
  • Lock file untuk prevent overlap: pakai flock command

Limitasi Cron di Shared Hosting

Shared hosting Saung membatasi cron untuk fairness:

  • Minimum interval: 5 menit (tidak bisa tiap menit)
  • Max execution time: 60 detik per job (long-running script di-kill)
  • Max concurrent cron: 5 job aktif sekaligus
  • Tidak bisa cron command dengan privilege root

Untuk kebutuhan cron complex (queue worker, long-running batch), pakai VPS dengan akses crontab penuh.

Troubleshooting

1. Cron Tidak Jalan

Cek email Cron Email — biasanya ada error message. Common: typo path, permission denied, command not found.

2. "command not found"

Pakai full path: which php di SSH untuk dapat path lengkap.

3. Permission Denied

Set executable: chmod +x /home/user/script.sh.

4. WordPress wp-cron Double Run

Pastikan sudah set DISABLE_WP_CRON di wp-config.php sebelum schedule cron real.

5. Cron Timezone Salah

cPanel cron pakai server timezone (biasanya UTC atau WIB). Cek di Server Information cPanel.

Kesimpulan

Cron job adalah otomatisasi gratis yang sudah include di semua paket hosting cPanel. Setup 2 menit, manfaat seumur hidup. Pakai untuk backup, maintenance, scheduled task — bebaskan diri dari manual chore harian.

Hosting Saung support cron job di semua paket. Butuh VPS dengan crontab unlimited? Lihat paket VPS mulai 2 vCPU 2 GB RAM.

Siap upgrade ke hosting cepat & aman?

LiteSpeed + SSL gratis + JetBackup harian + Imunify360 — semua mulai Rp 5.000/bulan.

Teknologi Terbaru

Mendukung Stack Modern Pilihan Developer

Server kami siap menjalankan teknologi web & backend terkini. Tinggal pilih, kami yang siapkan environment-nya.

Node.js
React
Vue.js
Angular
Next.js
Astro
NPM
Yarn
Python
PHP 8.x
Ruby
Java
Rust
Golang
.NET
TypeScript
Laravel
CodeIgniter
Django
Flask
Express.js
NestJS
MySQL
MariaDB
PostgreSQL
MongoDB
Redis
SQLite
Docker
Git
GitHub
Linux
Apache
Nginx
LiteSpeed
cPanel

Dan masih banyak lagi — composer, pip, gem, cargo, kubectl, semua tersedia. Tanya stack Anda