Panduan Cron Job Lengkap & Terbaru 2021
access_time
hourglass_empty
person_outline

Panduan Cron Job Lengkap & Terbaru 2021

Untuk menyelesaikan suatu pekerjaan, pastinya Anda memilih cara yang paling efektif, kan? Misalnya, nih, Anda menyalakan opsi otomatis untuk mengerjakan tugas yang sama. Pengaturan ini dipilih untuk menghemat waktu. Terlebih lagi kalau Anda menggunakan sistem operasi yang menyerupai Unix (Unix-like). Penggunaan cron job tidak akan membuat waktu Anda terbuang sia-sia. Setiap task dijalankan secara otomatis.

Di artikel ini, kami akan membahas apa itu cron job, perintah dasarnya, dan cara menggunakannya untuk menjadwalkan task.

Mau bikin website pakai VPS hosting? Di Hostinger, Anda bisa berhemat hingga 70%. Pilihan tepat dan cepat, kan?

Beli VPS

Perintah Dasar Cron Job

Ada banyak cara untuk membuat dan mengedit cron job. Nah, di tutorial ini, kami menggunakan Linux Shell Prompt (Terminal).

Bagi yang menggunakan VPS di Hostinger, info login bisa didapatkan di tab manajemen (kelola) VPS. Setelah itu, akses server melalui SSH. Kalau ada kendala, baca solusinya di tutorial PuTTY SSH.

Berikut beberapa perintah dasar cron job:

Untuk mengedit file crontab user, Anda harus mengetik perintah ini di terminal:

crontab -e

Hasilnya akan seperti ini.

Hasil perintah crontab -e

Karena yang digunakan adalah vi editor, mau tak mau Anda harus mempelajari perintah dasar vi terlebih dulu agar tidak salah langkah.

Jika ingin mengedit crontab user lain, Anda hanya perlu mengetik crontab -u username -e. Tapi perintah ini hanya bisa dilakukan apabila role Anda adalah superuser, dan Anda wajib menambahkan sudo su sebelumnya.

Perintah dasar cron job untuk mengedit file crontab user lain

Untuk menghapus file crontab user, gunakan perintah ini:

crontab -r

Fungsi -i sama dengan -r. Bedanya, perintah ini akan menampilkan opsi ya atau tidak (yes/no) sebelum user memutuskan untuk menghapus crontab:

crontab -i

Untuk menampilkan isi file crontab yang sedang diakses, jalankan perintah ini di terminal:

crontab -l

Perintah crontab -l dipakai untuk mengecek ada tidaknya file crontab yang dibuat. Jika tidak ada, hasil yang ditampilkan seperti ini.

perintah untuk mengecek ketersediaan file crontab

Untuk mengecek daftar file crontab user lain, role Anda sudah harus superuser agar bisa menggunakan perintah crontab -u username -l.

Perintah untuk mengecek daftar file crontab user lain

Selain perintah dasar, Anda juga wajib mempelajari syntax dasar cron job.

Pada umumnya, file crontab terdiri atas dua bagian, yakni pengatur waktu atau jadwal (schedule timer) dan perintah (command). Berikut cara penulisan perintahnya:

* * * * * /bin/sh backup.sh
  • ***** /bin/sh backup.sh cronjob akan menjalankan backup setiap menit.
  • 30 18 * * * rm /home/sydtesting/tmp/* akan menghapus file tmp dari /home/sydtesting/tmp tepat pada jam 18.30 setiap harinya.

Cara Penulisan Cron Syntax yang Benar

File crontab memiliki lima field yang disimbolkan dengan tanda bintang. Masing-masing menunjukkan pengaturan tanggal dan waktu untuk menjalankan sebuah task secara berulang.

File crontab memiliki lima field

  • Menit (Minute) – menunjukkan di menit ke berapa perintah akan dijalankan. Angkanya berkisar dari 0 sampai 59.
  • Jam (Hour) – menunjukkan di jam ke berapa perintah akan dijalankan. Angkanya berkisar dari 0 sampai 23.
  • Hari di bulan tertentu (Day of the month) – menunjukkan di hari apa perintah akan dijalankan. Tanggalnya dimulai dari tanggal 1 sampai 31.
  • Bulan (Month) – menunjukkan di bulan apa perintah akan dijalankan, dimulai dari bulan 1 hingga 12.
  • Hari di minggu tertentu (Day of the week) – menunjukkan di hari apa perintah akan dijalankan, dimulai dari hari 0 sampai 7.

Anda juga harus menggunakan karakter yang tepat di setiap file crontab:

  • Tanda bintang (*) – untuk mengatur semua parameter jadwal atau waktu.
  • Koma (,) – untuk menjalankan satu perintah di dua atau lebih dari dua waktu yang berbeda.
  • Tanda penghubung (-) – satu perintah bisa dijalankan dalam beberapa kali waktu atau hari. Tanda ini digunakan untuk menentukan rentang waktunya.
  • Garis miring (/) – untuk membuat interval dalam rentang waktu tertentu.
  • Last (L) – mereferensikan hari di minggu terakhir pada suatu bulan. Misalnya, di bulan tersebut hari terakhirnya adalah hari Rabu. Maka 3L berarti hari Rabu terakhir.
  • Weekday (W) – untuk menentukan hari kerja di waktu tertentu. Misalnya, Anda menjadwalkan satu minggu (1W). Apabila hari pertama (1st) – yang juga adalah akhir pekan – adalah Sabtu, perintah baru akan dijalankan di hari ketiga (hari kerja), yakni Senin (3rd).
  • Tanda pagar (#) – untuk menentukan hari di minggu tertentu. Biasanya hadir di kisaran 1 sampai 5. Misalnya, 1#2 berarti Senin kedua (hari pertama di minggu kedua).
  • Tanda tanya (?) – membiarkan field kosong.

12 Contoh Syntax Cron

Kini Anda sudah mengetahui cara menulis cron syntax yang benar, kan? Selanjutnya, kami akan memberikan beberapa contoh supaya Anda bisa lebih memahami penggunaan perintah yang telah kami jelaskan di atas.

Perlu diingat, output yang dihasilkan perintah ini akan otomatis dikirimkan ke akun email Anda. Jika merasa terganggu dengan banyaknya kiriman email, tambahkan >dev/null/ 2>&1 ke syntax. Kiriman ke email akan dinonaktifkan. Berikut contohnya:

0 5 * * * /root/backup.sh >/dev/null 2>&1

Tapi kalau Anda ingin mengalihkan kiriman output ke akun lain yang lebih spesifik, tambahkan MAILTO yang lalu diikuti dengan alamat email. Ini contohnya:

MAILTO="myname@hostinger.com"
0 3 * * * /root/backup.sh >/dev/null 2>&1

Daftar contoh syntax lainnya:

SyntaxArti
0 0 * * * /bin/sh backup.shUntuk menjalankan database pada tengah malam dan juga untuk menjalankan database sekali sehari.
0 6,18 * * * /bin/sh backup.shUntuk menjalankan backup database dua kali sehari, yakni pada jam 6 pagi dan 6 sore.
0 */6 * * * /scripts/monitor.shUntuk melakukan pemantauan atau monitor setiap enam jam.
*/10 * * * * /home/user/script.shUntuk menjalankan cron job file script yang ada di direktori home setiap 10 menit.
0 * 20 7 * /bin/sh backup.shUntuk menjalankan backup database setiap jam hanya pada tanggal 20 Juli.
0 0 * * 2 * /bin/shUntuk menjalankan backup database pada tengah malam setiap hari Selasa.
* * * 1,2,5 *  /script/script.shUntuk menjalankan perintah di bulan Januari, Februari, dan Mei.
10-59/5 5 * * * /home/user/script.shUntuk menjalankan perintah setiap 5 menit di jam 5 pagi. Waktunya dimulai dari jam 5.10.
0 8 1 */3 * /home/user/script.shUntuk menjalankan perintah setiap tiga bulan di hari pertama pada jam 8 pagi.
* * * * * /scripts/script.sh; /scripts/scrit2.shUntuk menjadwalkan berbagai job di satu cron job.
@reboot /scripts/script.shUntuk menjalankan task tertentu setiap kali sistem diaktifkan.
0 0 1 * *  /home/user/script.shUntuk menjalankan perintah di hari pertama setiap bulan.

Hak Akses Cron

Cron job memiliki dua file penting.

  • /etc/cron.allow – jika ada cron.allow, nama user harus tercantum agar dia bisa menggunakan cron job.
  • /etc/cron.deny – jika file cron.allow tidak ada tapi yang ada malahan file cron.deny, nama user tidak boleh ada di file cron.deny agar dia bisa menggunakan cron job.

Apa itu Cron Job?

Task yang dilakukan berulang kali tidak perlu dilakukan secara manual. Anda bisa mengaktifkan pengaturan otomatis melalui suatu program yang disebut cron

Sebuah task dapat dijalankan berdasarkan waktu atau jadwal yang ditentukan oleh suatu perintah. Inilah yang disebut cron job.

Kalau hanya untuk menjadwalkan satu job yang statusnya tidak berulang, Anda bisa menggunakan perintah lain. Tapi kalau job-nya bersifat pengulangan alias dilakukan berulang kali dan terus-menerus, solusinya, ya, pakai cron.

Cron adalah daemon. Itu berarti cron bekerja di latar belakang (background) untuk menjalankan job yang tidak interaktif. Bagi yang menggunakan Windows, pasti sudah familiar dengan proses seperti ini. Terkadang disebut Services.

Biasanya daemon nganggur dan hanya menunggu perintah untuk menjalankan task tertentu. Entah itu perintah di dalam komputer atau dari komputer lain di jaringan.

File cron berupa file teks sederhana. Di dalam file ini, terdapat perintah yang akan dijalankan di waktu tertentu. Sistem default di file crontab adalah /etc/crontab dan tersimpan di direktori crontab /etc/cron.*/. Hanya administrator sistem yang bisa mengedit file crontab sistem.

Sistem operasi Unix-like bisa digunakan banyak user. Setiap user dapat membuat file crontabnya sendiri dan mengaktifkan perintah untuk menjalankan job kapan saja. Nantinya cron daemon yang akan mengecek file ini dan menjalankan perintah di latar belakang sistem.

Cron job adalah program yang memungkinkan penggunanya mengotomatisasikan pemeliharaan sistem, pemantauan disk space, dan penjadwalan backup. Oleh karena itu, cron job jadi solusi tepat untuk komputer atau bahkan server yang terus aktif 24/7.

Meskipun cron job lebih sering digunakan administrator sistem, faktanya web developer juga bisa, lho, memanfaatkannya. Misalnya, web developer memakai cron job untuk menonaktifkan akun yang sudah kedaluwarsa, mengecek link rusak, atau mengirimkan newsletter ke target user.

Kesimpulan

Nggak cuma praktis, menjadwalkan job agar otomatis berjalan akan memastikan tidak ada task atau tindakan yang terlewatkan. Hal ini bisa dilakukan menggunakan cron job. Baik administrator system maupun web developer, sama-sama merasakan manfaatnya karena tidak perlu melakukan task berulang dengan metode manual. Cukup jalankan perintah sesuai dengan fungsi dan atur waktu yang diinginkan.

Berikut beberapa perintah dasar cron job:

  • crontab e – membuat dan mengedit file crontab.
  • crontab -u username -e – mengedit file crontab user lain menggunakan akses superuser.
  • crontab -l – mengecek daftar file crontab user saat ini.
  • crontab -r – menghapus file crontab.
  • crontab -a filename – menginstall filename sebagai file crontab (di sebagian sistem, value -a tidak dibutuhkan).

Selamat! Kini Anda sudah bisa mengaktifkan pengaturan otomatis untuk task berulang.

Penulis

Author

Ariata C. / @ariata

Ariata suka sekali menulis dan menerjemahkan, dan sekarang ini bekerja sebagai translator di Hostinger Indonesia. Lewat artikel dan tutorial yang diterbitkan di blog Hostinger, Ariata ingin membagikan pengetahuan tentang website, WordPress, dan hal terkait hosting lainnya kepada para pembaca.

Tutorial pilihan

Tutorial terkait

Ketik balasan

Komentar*

Nama*

Email*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Jadilah bagian dari Hostinger!