Aldwin Nayoan Aldwin is a content writer at Niagahoster. Specializing in web hosting and WordPress, he is eager to help people uplevel their business on the internet. Apart from being a tech junkie, Aldwin likes fiction and photography.

Apa itu Cron Job? Pengertian, Syntax Dasar, & Contoh Lengkap

5 min read

Featured image cron job

Mengelola server website tentu saja bukanlah pekerjaan mudah. Jika Anda repot mengelola berbagai hal teknis secara manual, maka cron job adalah solusinya.

Cron job adalah fitur di Linux OS yang bisa membantu Anda melakukan otomatisasi perintah di server website secara mudah. Ingin tahu Linux cron job otomatis lebih jauh?

Tenang! Di artikel ini, kami ajak Anda belajar apa itu cron job, perintah dasarnya, hingga cara menggunakan crontab.

Tanpa basa-basi lagi, ini dia artikel selengkapnya!

Apa Itu Cron Job?

cron job adalah

Cron adalah fitur di sistem operasi berbasis UNIX (Linux, Ubuntu, dan lain-lain) yang berfungsi untuk menjalankan tugas atau script secara otomatis.

Pada dasarnya, cron adalah sebuah file teks sederhana berisi command atau perintah Linux yang dibuat oleh administrator sistem.

Oleh karena itu, Linux cron job adalah sebutan penggunaan cron untuk menjadwalkan tugas atau task di waktu yang sudah ditentukan secara berulang kali.

Fitur cron job banyak digunakan baik oleh administrator sistem maupun web developer untuk berbagai keperluan, misalnya:

  • Melakukan cara backup VPS otomatis secara terjadwal setiap harinya.
  • Membersihkan cache dan file-file sampah lainnya di ruang disk setiap minggu. 
  • Cek broken link di website secara berkala.
  • Mengirim pesan newsletter bulanan ke semua subscriber website.

Wah canggih sekali ya tugas cron job ini. Namun tentu saja, ia masih memiliki sedikit kekurangan, seperti:

  • Interval tersingkat sebuah Linux cron job adalah 60 detik, tidak bisa kurang dari itu.
  • Cron job hanya terpusat di satu server. Ia tidak bisa didistribusikan ke server website lain meski berada di jaringan yang sama.
  • Cron job dirancang untuk tugas terjadwal. Jika server error pada waktu yang ditentukan, maka ia harus menunggu hingga cron berikutnya untuk mengeksekusi perintah.

Pun demikian, memanfaatkan Linux cron job memang terbukti bisa memudahkan tugas user mengurus server website.

Lalu, sebenarnya bagaimana cara menggunakan crontab? Mari mulai mempelajari pengoperasian dasar cron job di bagian selanjutnya.

Baca juga: Cronjob Laravel

Perintah Dasar Cron Job

Sebelum praktik cara menggunakan crontab, pastikan Anda memiliki sebuah server VPS hosting. Jika belum punya, Anda bisa berlangganan di penyedia layanan terpercaya, seperti VPS Niagahoster.

Setelah itu, Anda akan diminta mengetikkan perintah tertentu. Anda dapat menggunakan perintah crontab untuk melihat, menambah, mengedit, atau menghapus tugas cron dengan opsi di bawah:

crontab

cron adalah crontab

Perintah crontab untuk membuat file konfigurasi crontab baru. Sebab, setiap Linux cron job diwakili oleh sebuah file crontab.

crontab -e

cron job adalah crontab e

Perintah crontab -e digunakan untuk mengedit file crontab. Jika belum ada file cron apapun, perintah crontab -e otomatis membuat crontab baru. 

crontab -u

cara menggunakan crontab u

Perintah crontab -u berfungsi untuk mengedit file crontab. Namun, kali ini direktori crontab yang diedit adalah milik user lain di server website Anda.

Oleh karena itu, crontab -u harus diikuti oleh username yang file crontab-nya ingin Anda ubah. Misalnya: crontab -u username -e

Berhubung ini adalah task atau tugas yang hanya dapat dilakukan administrator sistem, jangan lupa ketikkan command sudo su sebelum crontab -u.

crontab -l

cron job adalah crontab l

Perintah crontab -l ini digunakan untuk membuka daftar file crontab dan menampilkan isinya.

crontab -r

cron job r

Perintah crontab -r ini untuk menghapus file crontab.

crontab -i

Perintah crontab -i sama dengan crontab -r, tapi command ini menampilkan pertanyaan ya/tidak sebelum file dihapus.

Baca Juga: Perintah Dasar Linux

Syntax File Crontab

cara menggunakan crontab

Setiap file crontab terdiri dari dua komponen, yaitu waktu dan perintah. Format waktunya memiliki lima field yang semuanya harus Anda isi:

  • Minute — Field menit eksekusi perintah, ditulis dengan angka 0 hingga 59.
  • Hour — Field jam eksekusi command, ditulis dengan angka 0 hingga 23.
  • Day — Field tanggal eksekusi perintah, ditulis dengan angka 1 hingga 31.
  • Month — Field bulan eksekusi command,  ditulis dengan angka 1 hingga 12.
  • Weekday — Field hari eksekusi perintah. Hari dimulai dengan Minggu yang diwakili dengan angka 0.

Sebagai contoh, Anda ingin menjadwalkan cron job root/backup.sh setiap hari Senin jam 4.30 pagi, maka script perintah cron adalah:

30 4 * * 1 root/backup.sh

Nah, angka 30 dan 4 mewakili pukul 4.30 dan 1 mewakili hari Senin. Sedangkan dua tanda bintang (* *) menunjukkan perintah crontab dieksekusi berdasarkan value di sisi kirinya.

Selain angka, beberapa simbol yang digunakan dalam penggunaan cron job adalah:

  • Asterisk atau tanda bintang (*) — mewakili semua value sebuah field. Contohnya, tanda bintang di field minute berarti command dalam crontab tersebut dijalankan setiap menit.
  • Koma (,) — digunakan untuk memasukkan dua atau lebih value dalam satu field. Misalnya, user ingin menjalankan suatu perintah pukul 7 pagi dan malam setiap hari.
  • Hyphen (-) — digunakan jika Anda ingin menentukan rentang waktu dalam suatu field. Contohnya, apabila user ingin menjalankan command dari hari Senin hingga Rabu setiap minggu.
  • Slash atau garis miring (/) — fungsinya mirip dengan koma. Namun, garis miring digunakan untuk menentukan pengaturan waktu yang lebih kompleks. Misalnya, ketika user ingin mengotomatisasi perintah setiap 10 menit pada dari jam 11.20 hingga jam 11.50.
  • Last (L) — Last (L) mengisyaratkan hari tertentu di minggu terakhir suatu bulan. Contohnya, 5L berarti hari Jumat terakhir.
  • Hash atau tanda pagar (#) — tanda ini digunakan ketika Anda ingin menentukan minggu pelaksanaan command. Dalam penggunaannya, tanda ini diikuti angka 1 hingga 5 sebagai indikator minggunya. Misalnya, 3#5 berarti hari Rabu di minggu ke-lima.
  • Weekday (W) – gunakan tanda ini untuk mengeksekusi perintah di hari kerja terdekat. Misalnya tanggal 1 Januari jatuh di hari Minggu, maka cron job akan dijalankan pada Senin tanggal 2 Januari.
  • Tanda tanya (?) – operator ini dipakai jika tidak ada value tertentu pada field Day of the month dan Day of the week. 

Bagaimana, Anda sudah paham cara menggunakan crontab? Jika masih bingung, di luar sana ada beberapa tools gratisan untuk memudahkan Anda merangkai perintah cron job.

Salah satunya yaitu cron guru yang bisa Anda akses di laman resminya.

Baca Juga: Curl Command

String Khusus Cron Job

Selain sederet script atau syntax file crontab pada poin sebelumnya, Anda juga bisa menambahkan beberapa string khusus pada perintah cron job.

Untuk menggunakannya, tuliskan @ lalu diikuti pilihan string seperti contoh cron job di bawah:

  • @hourly – Cron job dijalankan setiap satu jam sekali.
  • @daily atau @midnight – Cron jobs dijalankan setiap hari pada jam 12 tengah malam.
  •  @weekly – Command untuk menjadwalkan cron job seminggu sekali, pada hari Minggu tengah malam.
  • @monthly – Cron jobs akan dieksekusi satu kali dalam sebulan di tanggal 1.
  • @yearly – String khusus untuk menjalankan cron job command setahun sekali pada tanggal 1 Januari tengah malam.
  • @reboot – Menjadwalkan perintah cron setiap server VPS hosting restart. Sangat berguna jika Anda pernah mempraktikkan cara membuat VPS reboot otomatis.

Nah, itu tadi sederet command line khusus untuk cron job. Selanjutnya, yuk perhatikan contoh-contoh penulisan syntax cron job agar Anda semakin paham.

Contoh Syntax Cron Job

Anda sudah mengenali komponen dan string khusus dalam syntax cron job, bukan? Sekarang mari lihat contoh-contoh cron job adalah sebagai berikut:

PerintahArti
0 7 * * * /root/backup.shMelakukan backup setiap pukul 7 pagi setiap hari.
20-50/10 11 * * * /home/user/script.shMenjalankan script sepuluh menit sekali dari jam 11.20 hingga 11.50 setiap hari.
* * * 1,2,5 *  /bin/script.shMenjalankan script setiap hari di bulan Januari, Februari, dan Mei. 
0 6,18 * * * /bin/backup.shMelakukan backup setiap hari pada pukul 6 pagi dan 6 malam.
0 8 1 */3 * /home/user/script.shMenjalankan script di tanggal pertama setiap tiga bulan pada pukul 8 pagi.
* * 5L * * /root/script.shMenjalankan script setiap hari Jumat terakhir setiap bulannya.
* * 3#5 7 * /root/backup.shMelakukan backup setiap hari rabu di minggu ke lima setiap bulan Juli.
0 * * * 3 /root/clearcache.shMenghapus cache setiap jam pada hari Rabu.
*/30 * * * * /scripts/monitor.shMelakukan monitoring sistem setiap 30 menit sekali.
*/45 * * * * /root/backup.shMelakukan backup setiap 45 menit sekali.
0 18 * * 1-3 /root/clearcache.shMenghapus cache setiap hari Senin hingga Rabu pada pukul 6 malam.
* * 22 9 * /root/backup.shMelakukan backup setiap menit pada tanggal 22 September.
* * * 4,6,8 * /scripts/monitor.shMelakukan monitoring sistem setiap menit selama bulan April, Juni, dan Agustus.
0 0 * * 5 * /root/backup.shMelakukan backup setiap hari Jumat tengah malam.
10-59/10 5 * * * /root/clearcache.shMembersihkan cache setiap 10 menit pada jam 5 pagi, dimulai tepat pukul 5.10.
0 9 15 */3 * /home/user/script.shMengatur task atau tugas cron agar dijalankan setiap tiga bulan sekali, pada tanggal 15 pukul 9 bulan tersebut.
* * * * * /scripts/script.sh; /scripts/scrit2.shMenyertakan beberapa daftar tugas terjadwal dalam satu cron job, sehingga bisa dijalankan terjadwal secara bersamaan.
@reboot /root/clearcache.shMenghapus cache setiap kali sistem melakukan restart.
@hourly /scripts/monitor.shMelakukan task monitoring sistem default setiap jam.

Baca juga: Cara Backup dan Restore Database dengan SQL Dump

Jadi, Cron Job Adalah…

Cron job adalah tools CLI untuk menjalankan perintah di server website secara otomatis. Di artikel ini, Anda telah belajar pengertian Linux cron job, cara menggunakan crontab, hingga contoh cron secara lengkap.

Pun demikian, penggunaan cron adalah satu dari sekian banyak faktor yang memudahkan Anda sebagai web developer untuk mengelola server VPS hosting. Perlu diingat, pengelolaan server juga bergantung pada penyedia layanan yang dipilih.

Untungnya, Niagahoster menyediakan layanan Cloud VPS Hosting yang dibekali berbagai kelebihan. Sebut saja, kemudahan mengakses server dengan full access root, atau ketersediaan 50+ sistem operasi Linux siap install.

Menariknya, Cloud VPS Hosting Niagahoster dibanderol dengan harga terjangkau. Mulai Rp104 ribu/bulan saja, loh! Jadi tunggu apa lagi, yuk cobain sekarang juga!

Aldwin Nayoan Aldwin is a content writer at Niagahoster. Specializing in web hosting and WordPress, he is eager to help people uplevel their business on the internet. Apart from being a tech junkie, Aldwin likes fiction and photography.

Leave a Reply

Your email address will not be published. Required fields are marked *