Cron Job

Cron Job adalah sebuah fitur penjadwalan tugas yang ada di sistem operasi berbasis Unix, termasuk Linux.

Software Engineering

Mau Belajar

Software Engineering

GRATIS?

Di RevoU, tidak hanya teori, penerapan, serta career coaching. Kamu juga mendapatkan akses ke Community Hub dengan 6000+ member. Di sini, kamu akan selalu terupdate informasi seputar job openings, industry news, dan upskilling events!

IKUT KURSUS GRATIS

Mau Belajar

Software Engineering

GRATIS?

Apa itu Cron Job?

pengertian cron job

Cron Job adalah sebuah fitur penjadwalan tugas yang ada di sistem operasi berbasis Unix, termasuk Linux. Fitur ini memungkinkan pengguna menjalankan skrip atau perintah secara otomatis pada interval waktu yang telah ditentukan.

Dalam web development, Cron Job berguna untuk mengotomatiskan berbagai tugas rutin, seperti membuat cadangan data secara harian.

Cron Job menjadi alat yang bisa diandalkan untuk sistem yang beroperasi sepanjang waktu, seperti server virtual pribadi. Hal ini dikarenakan Cron Job memungkinkan pemeliharaan sistem, pemantauan ruang disk, dan tugas-tugas lainnya untuk dijalankan di interval reguler.

Penggunaan Cron Job tidak hanya menghemat waktu tetapi juga mengurangi risiko kesalahan manusia.

Namun, di samping kelebihannya, Cron Job juga memiliki beberapa keterbatasan yang perlu diperhatikan. Interval terpendek antara tugas adalah 60 detik dan jika tugas terlewat karena alasan apa pun, seperti kegagalan sistem, tugas tersebut harus diatur ulang secara manual. Selain itu, Cron Job tidak memiliki mekanisme pengulangan otomatis jika tugas gagal.

Fungsi Cron Job

Dirangkum dari AXIOMQ dan Altogic, berikut beberapa fungsi dari Cron Job:

  • Otomatisasi tugas: fungsi utama dari Cron Job adalah mengotomatisasi tugas-tugas yang berulang. Tugas bisa berkisar dari yang sederhana seperti mengirim e-mail, sampai yang lebih kompleks seperti mencadangkan database.
  • Membuat penjadwalan dengan fleksibel: Cron Job memungkinkan penjadwalan tugas untuk dijalankan pada interval waktu secara spesifik. Hal ini sangat berguna untuk tugas yang perlu dijalankan secara berkala, seperti pemeliharaan sistem atau pembuatan laporan.
  • Mengurangi risiko kesalahan: Dengan automasi tugas, Cron Job membantu mengurangi risiko kesalahan manusia. Fungsi ini penting dalam konteks seperti backup data, di mana kegagalan untuk melakukan backup bisa berakibat fatal.
  • Meningkatkan efisiensi: menggunakan Cron Job bisa meningkatkan efisiensi dengan cara mengotomatiskan waktu yang seharusnya digunakan untuk melakukan tugas-tugas rutin. Hal ini memungkinkan developer fokus pada tugas yang lebih penting.
  • Keamanan: dalam konteks keamanan, Cron Job bisa dimanfaatkan untuk menjalankan pemindaian keamanan secara berkala, memperbarui patch keamanan, dan melakukan tindakan lain yang membantu menjaga sistem tetap aman.
  • Pemantauan: salah satu fungsi tambahan yang penting adalah kemampuan untuk memantau kinerja dan status dari Cron Job. Fungsi ini membantu dalam deteksi dini kegagalan atau masalah lain yang bisa berdampak negatif pada sistem atau data.

Perintah Dasar Cron Job

Dalam Cron Job, setiap baris dalam file crontab biasanya terdiri dari enam bagian: menit, jam, hari, bulan, hari dalam seminggu, dan perintah yang akan dijalankan. Berikut penjelasannya:

elemen dalam file crontab

Dengan menggunakan kombinasi dari kelima bagian di atas, developer dapat menentukan jadwal yang sangat spesifik untuk menjalankan perintah atau skrip otomatis.

Selanjutnya, berikut beberapa perintah dasar yang bisa dijalankan di Cron Job:

  • crontab -e: dipakai untuk membuka dan mengedit file crontab. Jika file crontab belum ada, perintah ini akan membuat satu file baru. File ini adalah tempat di mana developer dapat menambahkan atau mengubah jadwal tugas.
  • crontab -l: digunakan untuk menampilkan daftar semua Cron Job yang telah dijadwalkan oleh developer. Perintah ini berguna dalam memeriksa apakah tugas telah dijadwalkan dengan benar.
  • crontab -r: berfungsi untuk menghapus file crontab, sehingga menghapus semua tugas yang telah dijadwalkan. Perintah ini harus digunakan dengan hati-hati karena tidak ada konfirmasi sebelum penghapusan.
  • crontab -a <filename>: digunakan untuk membuat file crontab baru dengan nama file yang ditentukan.
  • crontab -v: perintah ini menunjukkan kapan file crontab terakhir diubah. Hal ini bisa membantu dalam pemecahan masalah atau audit.
  • sudo systemctl status cron.service: perintah ini dipakai untuk memeriksa status layanan cron pada sistem Linux yang akan menunjukkan apakah layanan cron sedang berjalan atau tidak.

Untuk memulai perintah di Cron job, berikut syntax dasarnya:

* * * * * command-to-be-executed

Syntax ini adalah format dasar dari sebuah Cron Job. Lima bintang berturut-turut mewakili menit, jam, hari bulan, bulan, dan hari dalam seminggu. Diikuti oleh perintah yang akan dijalankan.

Contoh Syntax Cron Job

Berikut beberapa contoh syntax Cron Job:

  • 30 04 * * * /usr/bin/backup.sh: contoh ini menjalankan skrip backup.sh setiap hari pada pukul 4:30 pagi. Angka 30 dan 04 mewakili menit dan jam.
  • 15 * * * * /usr/bin/update.sh: salam contoh ini, skrip update.sh akan dijalankan setiap jam, pada menit ke-15.
  • 0 0 * * 0 /usr/bin/cleanup.sh: skrip cleanup.sh akan dijalankan setiap hari Minggu tepat tengah malam. Angka 0 pada akhir baris menunjukkan hari Minggu.
  • 0 0 1 * * /usr/bin/archive.sh: skrip archive.sh akan dijalankan pada hari pertama setiap bulan, tepat tengah malam.
  • */10 * * * * /usr/bin/monitor.sh: skrip monitor.sh akan dijalankan setiap 10 menit. Tanda bintang sebelum garis miring menunjukkan "setiap", dan 10 setelah garis miring menunjukkan intervalnya.
  • 0 0 1,15 * * /usr/bin/bi-monthly.sh: skrip bi-monthly.sh akan dijalankan pada tanggal 1 dan 15 setiap bulan.

FAQ (Frequently Asked Question)

Bagaimana cara mengatur cron permission?  

Mengatur izin untuk Cron Job merupakan langkah dalam memastikan keamanan dan efisiensi sistem. Untuk mengaturnya, developer dapat menggunakan file /etc/cron.allow dan /etc/cron.deny.

Dua file ini digunakan untuk mengontrol siapa saja yang dapat atau tidak dapat menggunakan Cron Job.

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program:

Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion.

Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program:
Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion.

Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program:

Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion.

Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Kata kunci lainnya

Mulai karirmu dalam

Software Engineering

Di RevoU, tidak hanya teori, penerapan, serta career coaching. Kamu juga mendapatkan akses ke Community Hub dengan 6000+ member. Di sini, kamu akan selalu terupdate informasi seputar job openings, industry news, dan upskilling events!
ikut kursus gratis
Menu