Cara Setup Cron Job di Ubuntu Buat Jadwalin Task Otomatis

Pernah gak sih kamu capek harus login manual tiap hari cuma buat jalanin script backup atau bersihin log lama? Cron job Ubuntu jadi solusinya, tools bawaan Linux yang bisa jadwalin command atau script apapun buat jalan otomatis sesuai waktu yang kamu tentuin, tanpa perlu kamu pantengin sama sekali.

Di artikel ini kita bahas cara setup cron job Ubuntu dari nol, mulai dari sintaks jadwal, contoh praktis, sampai cara cek kalau job-nya gagal jalan. Catatan: ini beda dari WP-Cron bawaan WordPress, kalau kamu ke sini gara-gara error WP-Cron di WordPress, cek artikel ini aja.

Kenapa Butuh Cron Job Ubuntu

Cron itu daemon yang udah ada bawaan di hampir semua distro Linux, jalan di background dan ngecek tiap menit apakah ada job yang harus dieksekusi sesuai jadwal. Ini yang bikin dia jadi andalan buat tugas rutin kayak backup database, rotate log, bersihin file temporary, atau kirim laporan otomatis. Kalau kamu udah baca artikel backup Docker volume sebelumnya, di situ kita sempet singgung cron buat otomatisasi backup, nah di artikel ini kita bahas cron job Ubuntu-nya lebih mendalam.

Buat referensi lengkap, kamu bisa cek dokumentasi resmi Ubuntu Community soal cron.

Pahami Dulu Sintaks Cron Job Ubuntu

Sebelum praktik, penting banget paham format 5 kolom waktu ini, karena kesalahan kecil di sini bisa bikin job kamu jalan di waktu yang salah total:

* * * * * command_yang_mau_dijalanin
| | | | |
| | | | +-- Hari (0-6, Minggu=0)
| | | +---- Bulan (1-12)
| | +------ Tanggal (1-31)
| +-------- Jam (0-23)
+---------- Menit (0-59)

Tanda bintang (*) artinya “setiap”, jadi * * * * * berarti job jalan tiap menit. Kalau bingung, kamu bisa cek situs kayak crontab.guru buat visualisasi jadwal sebelum diterapin beneran. Kesalahan paling umum pemula itu suka ketuker urutan kolom, jadi selalu double-check dulu sebelum simpen, apalagi buat job yang jalan di jam-jam produktif.

1. Cek Status Cron Job Ubuntu

Cron biasanya udah aktif otomatis di Ubuntu, tapi cek dulu buat mastiin:

sudo systemctl status cron

Kalau statusnya inactive, aktifin dulu:

sudo systemctl enable --now cron

2. Buka dan Edit Crontab

Buat edit crontab user kamu sendiri (bukan root), jalankan:

crontab -e

Pertama kali jalanin ini, kamu bakal diminta pilih text editor (biasanya nano paling gampang buat pemula, tinggal pilih nomor sesuai opsinya). Kalau kamu perlu edit crontab root (buat task yang butuh akses admin), tambahin sudo di depannya.

3. Contoh Praktis Cron Job

Beberapa contoh yang sering dipake buat kebutuhan sehari-hari:

# Jalanin script backup tiap hari jam 2 pagi
0 2 * * * /home/user/backup.sh

# Restart service tiap Senin jam 3 pagi
0 3 * * 1 sudo systemctl restart nginx

# Hapus file log lebih dari 7 hari, tiap jam 1 pagi
0 1 * * * find /var/log/myapp -mtime +7 -delete

# Jalanin tiap 15 menit
*/15 * * * * /home/user/check.sh

Simpan file-nya, dan cron otomatis reload jadwal barunya tanpa perlu restart service apapun. Ini beda dari kebanyakan aplikasi lain yang butuh restart manual tiap kali config-nya diubah.

4. Cek Daftar Cron Job yang Aktif

Lihat semua job yang udah kejadwal buat user kamu:

crontab -l

Kalau kosong padahal kamu yakin udah nambahin job, berarti kamu jalanin crontab -e dengan user yang beda pas nambahin tadi.

5. Redirect Output Biar Ada Log

Default-nya, cron kirim output job (kalau ada) lewat email sistem yang jarang dicek orang. Lebih baik redirect ke file log biar gampang di-debug:

0 2 * * * /home/user/backup.sh >> /home/user/backup.log 2>&1

>> nambahin output ke akhir file (bukan nimpa), dan 2>&1 mastiin error message juga ikut kecatat, bukan cuma output normal doang.

Kendala yang Sering Muncul

  • Script jalan manual tapi gagal lewat cron
    Ini paling sering kejadian gara-gara cron pakai environment variable yang beda dari terminal interaktif. Selalu pakai path absolute (misal /usr/bin/python3, bukan cuma python3) di dalam script maupun command cron.
  • Cron gak jalan sama sekali
    Cek log system dengan grep CRON /var/log/syslog buat liat apakah cron beneran nyoba eksekusi job kamu atau enggak.
  • Permission denied pas script dijalanin cron
    Pastiin script-nya punya permission execute: chmod +x /path/ke/script.sh.
  • Job dobel jalan atau timing meleset
    Cek timezone server dengan timedatectl, karena cron ngikutin timezone sistem, bukan timezone lokal kamu kalau beda.

Penutup

Nah, segitu aja cara setup cron job Ubuntu buat otomatisasi task sehari-hari. Sekali kamu paham sintaksnya, cron ini jadi salah satu tools paling powerful buat bikin server kamu jalan sendiri tanpa perlu kamu awasin 24 jam. Kalau ada yang error atau nyangkut, drop komentar aja bro.

Jundi Husni Mubaraq

Jundi Husni Mubaraq

Saya seorang software engineer yang sejak awal 2026 megang penuh (sendirian) tanggung jawab infrastruktur server di tempat saya kerja: deploy dan maintain server Linux Ubuntu on-premises, bangun keamanan berlapis pakai CrowdSec dan Cloudflare, kelola job scheduling dan monitoring pakai Cronicle, deploy aplikasi containerized pakai Docker, sampai ngurusin mail server korporat dari nol. Sebelumnya saya 3+ tahun jadi Software Engineer/Fullstack Developer di beberapa perusahaan, termasuk proyek skala internasional (EUDR compliance system buat Lindt & Sprungli) dan sistem rumah sakit (SIMRS, rekam medis elektronik, integrasi BPJS Kesehatan) di RS PKU Muhammadiyah Surakarta. jundi.hm ini tempat saya dokumentasiin apa yang beneran saya kerjain dan pelajarin di lapangan, bukan sekadar riset teori, S.Kom dari Universitas Duta Bangsa Surakarta jadi bekal awal, tapi yang nulis di sini adalah pengalaman langsung ngelola server production sehari-hari. Selengkapnya: https://iam.jundi.hm

Lihat Juga Nih

Selanjutnya Nih

Kasih Komentar

Email kamu gak bakal ditampilin ke publik. Kalau ada tanda ini artinya wajib diisi ya *

Rekomendasi.

Lagi Viral.