Apa Itu Cron Job? Pengertian, Fungsi dan Cara Membuatnya

2800

Apakah kamu pernah mendengar istilah cron job? Apa itu cron job? Nah, cron job biasanya dimanfaatkan oleh para pemilik website untuk memudahkan mereka dalam mengelolanya. Saat kamu memiliki beberapa website, pasti akan merepotkan untuk bisa mengelolanya.

Pengelolaan satu website terkadang saja sudah cukup repot, apalagi jika harus mengelola lebih dari satu website. Di sinilah fungsi dari cron job. Fitur pada server hosting ini bisa kamu gunakan untuk mengelolanya sekaligus. 

Tool ini sudah familiar bagi para pemilik website. Tapi mungkin bagi orang awam fitur ini masih terdengar asing. Atau bahkan ada yang belum pernah mendengarnya. Untuk itu, mari kita bahas selengkapnya tentang pengertian, fungsi, hingga cara membuat cron job di artikel ini!

cron job adalah

Pengertian dan Fungsi Cron Job

Apa itu cron job? Cron merupakan tool yang memungkinkan kamu untuk menginput perintah. Cron job adalah otomatisasi perintah atau script tertentu yang terdapat pada website atau tugas yang dijadwalkan di cron. Cron ini cocok untuk melakukan pekerjaan seperti backup data, monitor server, download, upload, hingga mengirim pesan.

Melalui cron job, kamu bisa mengatur script untuk menjalankan perintah dalam waktu tertentu, bisa setiap hari, pekan, dan lain sebagainya. Kamu bisa menentukan perintah yang harus dijalankan secara otomatis oleh website beserta waktu eksekusinya. Selain itu, kamu juga bisa mengatur cron job untuk menghapus file sementara agar menambah ruang penyimpanan.

Selain terdapat pada website, fitur cron job ini ada pada server hosting yang memakai sistem operasi berbasis UNIX (Linux, Ubuntu, dan lain sebagainya). Dengan memanfaatkan cron job, para pemilik website jadi akan lebih hemat waktu dalam mengelola websitenya. 

Cron ini merupakan daemon atau background process yang melakukan tugas non-interaktif. Kalau kamu familiar dengan background process pada Windows, seperti “Services”, nah cara kerja cron mirip seperti itu. Daemon ini selalu dalam keadaan idle, yang akan menunggu perintah untuk melakukan tugas tertentu. Perintah tersebut biasanya diinput melalui komputer apa pun yang ada di jaringan. 

Istilah lain yang perlu dipahami saat membahas cron job adalah cron file. Apa itu cron file? Cron file adalah file berupa teks sederhana yang isinya serangkaian perintah atau command yang harus dijalankan secara berkala pada waktu tertentu. 

Cron file ini hanya bisa diedit oleh administrator sistem. Walaupun hanya bisa dilakukan oleh administrator, cron job bisa digunakan oleh web developer. Sebagai web developer, kamu bisa menggunakan cron job untuk melakukan beberapa perintah, seperti menonaktifkan akun yang sudah kadaluarsa, mengecek link yang rusak, dan mengirimkan email atau newsletter kepada target audiens.

Cron job mempunyai sistem default yang disimpan dalam file crontab dengan perintah “/etc/crontab”. Sistem default ini disimpan pada direktori crontab “/etc/cron.*/”.

Contoh penerapan cron job misalnya, saat kamu ingin mendapatkan weekly report dari website yang dikirim ke email setiap hari Senin pukul 10 pagi. Atau bahkan daily report yang harus dikirimkan setiap hari. Nah, kamu bisa menggunakan cron job untuk melakukan ini secara otomatis.

Kamu tinggal mengatur jadwalnya dengan spesifik hingga pukul berapa kamu ingin laporan tersebut dikirim ke emailmu. Dengan begitu, kamu tidak perlu repot-repot harus selalu melakukan hal yang sama saat ingin mendapatkan laporan. Selain itu juga kamu jadi lebih hemat waktu. 

apa itu cron job

Cara Membuat Cron Job

Sebelum kamu membuat cron job, pastikan script-nya bisa dieksekusi. Bagaimana caranya? Buka file di browser kamu menggunakan URL. Selain itu, kamu juga bisa menjalankan script melalui SSH (Secure Shell), tergantung pada jenis script. Apabila script tidak bisa dijalankan, kamu bisa menghubungi developer untuk meminta bantuan.

Lalu, bagaimana cara menjadwalkan cron job? Untuk menjadwalkan cron job, kamu bisa menginput command ke program shell seperti Bash pada Linux atau sistem operasi serupa lainnya. 

Untuk memahami operasi dasar cron, penting untuk mengetahui berbagai file konfigurasi cron job seperti system crontab dan user cron tab. Apa beda keduanya?

System cron tab digunakan untuk menjadwalkan perintah-perintah penting pada skala sistem yang cuma bisa diubah dengan hak izin akses root. Sementara user crontab memungkinkan pengguna untuk membuat sekaligus mengedit cron job yang hanya berjalan pada tingkat user.

Ada beberapa crontab yang biasa digunakan dalam menjalankan cron job, yaitu:

Untuk membuat dan mengedit file crontab

Untuk melakukan hal ini, masukkan command crontab -e. Jika tidak ada file crontab yang ditemukan dalam sistem kamu, maka command secara otomatis akan membuat file crontab baru. Command crontab -e memungkinkan kamu untuk menambah, mengedit, dan menghapus cron job. 

Untuk melihat daftar perintah yang terjadwal sudah aktif

Nah, jika kamu ingin mengecek daftar tugas terjadwal yang aktif di sistem, kamu bisa memasukkan command crontab -1

Untuk melihat daftar file crontab user

Selanjutnya, ketika sistem kamu memiliki lebih dari satu user, kamu bisa melihatnya dengan memasukkan command crontab -u username -1

Untuk mengedit job terjadwal milik user lain

Kamu juga bisa mengedit job terjadwal  milik user lain. Caranya adalah menggunakan command crontab sudo su crontab -u username -e

Untuk mendapat izin akses root

Apabila kamu ingin mendapatkan hak izin akses root untuk kamu sendiri, bisa menambahkan sudo su pada awal command. Beberapa command hanya bisa dieksekusi oleh user root. 

Untuk menghapus semua tugas yang sudah terjadwal

Terakhir, saat kamu ingin menghapus semua perintah yang sudah terjadwal pada file crontab dan ingin membuat yang baru, kamu bisa menggunakan command crontab -r.

Selain itu, kamu juga bisa menggunakan command crontab -i. Pada command ini, user akan melihat pilihan yes/no sebelum menghapus crontab.

Syntax Cron Job

File crontab terdiri atas dua komponen, yaitu waktu dan perintah. Terdapat lima field format waktu yang dimiliki crontab. Apa saja?

Minute, mewakili menit eksekusi perintah dan ditulis dengan angka 0 sampai 59.

Hour, mewakili jam eksekusi perintah dan ditulis dengan angka 0 sampai 23.

Day, mewakili tanggal eksekusi perintah dan ditulis dengan angka 1 sampai 31.

Month, mewakili bulan eksekusi perintah dan ditulis dengan angka 1 sampai 12.

Weekday, mewakili hari eksekusi perintah dan dimulai dengan Minggu yang biasa ditulis dengan angka 0.

Selain angka seperti yang disebutkan di atas, ada beberapa simbol yang juga sering digunakan dalam mengoperasikan cron job, di antaranya:

Asterisk (*), mewakili semua value sebuah field. Misalnya, saat tanda (*) ada field minute, maka artinya adalah perintah dalam crontab tersebut dijalankan setiap menit.

Koma (,), dipakai saat ingin memasukkan dua atau lebih value dalam satu field. Misalnya, saat kamu ingin menjalankan perintah setiap pukul 7 pagi dan malam.

Hyphen (-), dipakai saat kamu ingin menentukan rentang waktu dalam sebuah field. Misalnya, saat kamu ingin mengatur perintah dijalankan dari hari Senin sampai Jumat setiap pekan.

Slash (/), berfungsi seperti (,) tapi digunakan untuk menjalankan pengaturan waktu yang lebih kompleks. Misalnya, kamu ingin melakukan otomatisasi perintah setiap 15 menit mulai jam 11.30 sampai jam 11.55.

Last (L), mewakili hari tertentu di pekan terakhir suatu bulan. Misalnya, 5L yaitu hari Jumat terakhir pada bulan tersebut.

Hash (#), digunakan saat kamu ingin menentukan pekan pelaksanaan perintah. Saat menggunakan tanda ini, maka harus diikuti oleh angka 1 sampai 5 sebagai indikator pekannya. Misalnya, 2#4 berarti hari Selasa pada pekan ke-empat.

Kesimpulan

Nah, demikianlah penjelasan mengenai apa itu cron job beserta fungsinya. Dalam mengelola website yang lebih dari satu, kamu memang harus benar-benar teliti. Untuk membantu tugas ini, kamu bisa memanfaatkan fitur cron job.

Cron job merupakan metode atau fitur yang bisa dimanfaatkan oleh administrator sistem maupun web developer untuk mengelola tugas yang repetitif.

Dengan cron job, kamu bisa menjalankan berbagai jenis tugas dalam server secara otomatis. Menjadwalkan tugas atau perintah secara otomatis akan membuat pekerjaanmu menjadi efisien.

Selain bisa memastikan tidak ada hal penting yang terlewat, menggunakan cron job juga akan lebih membuat kamu menghemat waktu.