Cron Job: Panduan Lengkap untuk Pemula 2020
access_time
hourglass_empty
person_outline

Cron Job: Panduan Lengkap untuk Pemula 2020

Ada banyak cara untuk melakukan sesuatu dengan lebih efisien. Contohnya, menangani tugas yang berulang-ulang dengan menggunakan sebuah proses automasi akan lebih disukai oleh webmaster yang sibuk. Jika Anda adalah user sistem operasi Unix-like, menggunakan cron job dapat menghemat waktu karena Anda akan melakukan task secara otomatis.

Di artikel ini, kami akan menjelaskan dasar-dasar cron job dan cara menggunakannya untuk menjadwal task.

Dapatkan Paket VPS hosting Hostinger, hemat budget hingga 77%

Klik disini

Dasar – Dasar Cron Job

Seperti yang diketahui, Anda dapat membuat dan mengedit cron job dengan metode yang berbeda-beda. Pada tutorial ini, kami akan menunjukkan bagaimana cara melakukannya dengan menggunakan Linux Shell Prompt (Terminal).

Jika Anda mempunyai VPS di Hostinger, Anda dapat menemukan login credentials di tab VPS management, dan akses server anda melalui SSH. Jika terjadi kendala saat mengaksesnya, coba cek tutorial PuTTY SSH kami.

Berikut ini adalah beberapa operasi dasar yang dapat dilakukan dengan cron job:

Jika anda ingin mengubah sebuah file crontab dari user saat ini, ketik command berikut ini ke dalam terminal:

 crontab -e

Command tersebut akan menampilkan output seperti berikut ini:

hasil command crontab e

Karena menggunakan vi editor, Anda dapat mempelajari dasar vi command untuk memastikan apakah tindakan yang diambil sudah benar.

Jika anda ingin mengubah crontab dari user lainnya, ketikkan crontab -u username -e. Perlu diingat bahwa command ini dapat dijalankan jika Anda bertindak sebagai superuser, yang berarti harus mengetikkan: sudo su sebelum memasukkan command.

memasukkan sudo su

Jika anda ingin menghapus crontab file saat ini dari user saat ini, ketik command berikut ini:

   crontab -r

Ini sama seperti -r, tetapi command ini akan meminta user untuk memilih opsi ya / tidak sebelum menghapus crontab:

   crontab -i

Jika anda ingin menampilkan konten – konten dari file crontab yang sedang Anda masukkan, ketik command berikut ke dalam terminal:

   crontab -l

Operasi lainnya memungkinkan anda untuk melihat jika ada file crontab yang terbuat. Anda dapat ketik crontab -l. Jika tidak punya file crontab lain, maka Anda akan melihat hasil ini.

memasukkan crontab l

Sebagai tambahan, jika anda ingin melihat daftar file crontab dari user lainnya, anda dapat ketik crontab -u username -l sebagai superuser.

menampilkan daftar user

Selain mengetahui operasi dasar,  mempelajari syntax dasar termasuk hal yang penting.

Pada dasarnya, sebuah file crontab terdiri dari dua bagian: timer untuk jadwal dan command. Di bawah ini adalah bagaimana command tersebut tertulis:

* * * * * /bin/sh backup.sh
  • ***** /bin/sh backup.sh berarti cronjob akan menjalankan sebuah backup setiap menit.
  • 30 18 * * * rm /home/sydtesting/tmp/* berarti cronjob menghapus file – file tmp dari /home/sydtesting/tmp setiap harinya pada jam 6:30 PM.

Mari ketahui beberapa detail ekstra.

Cara Menulis Cron Syntax Dengan Tepat

Seperti yang telah disebutkan sebelumnya, sebuah file crontab mempunyai 5 field – setiap field direpresentasikan dengan sebuah asterisk – untuk menentukan tanggal dan waktu dari tugas tertentu yang diatur untuk dilakukan berulang kali.

definisi tiap asterisk

  • Minute – Menit saat command akan dijalankan, mulai dari 0 sampai 59.
  • Hour – Pada jam berapa command akan dijalankan, mulai dari 0 sampai 23.
  • Day of the month – Pada hari berapa dalam bulan anda ingin command berjalan, mulai dari 1 sampai 31.
  • Month – Pada bulan berapa command dijalankan, mulai dari 1 sampai 12.
  • Day of the week – Pada hari ke berapa dalam 1 minggu Anda ingin command dijalankan, mulai dari 0 sampai 7.

Menambahkan itu, anda butuh menggunakan karakter yang tepat di setiap file crontab.

  • Asterisk (*) – Definisi semua parameter penjadwalan.
  • Comma (,) – Untuk mempertahankan dua (2) atau lebih waktu eksekusi dari sebuah command.
  • Hyphen (-) – Untuk menentukan jarak waktu saat mengatur beberapa waktu eksekusi dari sebuah command.
  • Slash (/) – Untuk membuat interval waktu yang sudah ditentukan sebelumnya dalam sebuah jarak tertentu.
  • Last (L) – Untuk tujuan spesifik yang menentukan hari terakhir dalam seminggu di bulan tertentu. Contoh, 3L berarti hari Rabu adalah terakhir.
  • Weekday (W) – Untuk menentukan hari kerja terdekat dari waktu tertentu. Contoh, 1W berarti jika tanggal 1 adalah Sabtu, maka command akan dijalankan pada hari Senin (Tanggal 3).
  • Hash (#) – Untuk menentukan hari dalam seminggu, diikuti dengan angka dimulai dari 1 sampai 5. Contoh, 1#2 berarti hari Senin kedua.
  • Question mark (?) – Untuk dibiarkan kosong.

12 Contoh Syntax Cron

Setelah anda sudah mempelajari cara menuliskan syntax cron dengan tepat, kami akan memberikan anda lebih banyak contoh untuk membantu anda memahami aturan yang dinyatakan di atas lebih baik.

Sebelum dilanjutkan, perlu diingat bahwa hasil dari command akan terkirim secara otomatis ke akun email lokal anda. Jadi, jika anda ingin berhenti untuk menerima email – email ini, anda dapat menambahkan >/dev/null 2>&1 ke syntax seperti contoh berikut:

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

Jika anda ingin mengirim hasil email ke akun tertentu, anda dapat menambahkan MAILTO diikuti dengan alamat email. Berikut adalah sebuah contoh:

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

Berikut adalah contoh syntax lainnya:

Syntax Arti
0 0 * * * /bin/sh backup.sh Untuk melakukan backup dari sebuah database pada tengah malam, dan berjalan sekali sehari.
0 6,18 * * * /bin/sh backup.sh Untuk melakukan backup dari sebuah database dua (2) kali sehari pada jam 6 pagi dan 6 malam.
0 */6 * * * /scripts/monitor.sh Untuk melakukan pemantauan setiap 6 jam.
*/10 * * * * /home/user/script.sh Untuk menjalankan sebuah cron job untuk file script yang terletak di direktori home setiap 10 menit.
0 * 20 7 * /bin/sh backup.sh Untuk menjalankan sebuah backup dari database setiap tanggal 20 Juli setiap jam.
0 0 * * 2 * /bin/sh Untuk menjalankan backup dari sebuah database saat tengah malam setiap hari Selasa.
* * * 1,2,5 *  /script/script.sh Untuk menjalankan sebuah command di bulan Januari, Februari, dan Mei.
10-59/5 5 * * * /home/user/script.sh Untuk menjalankan sebuah command setiap 5 menit pada jam 5 pagi, dimulai dari jam 5:10 pagi.
0 8 1 */3 * /home/user/script.sh Untuk menjalankan sebuah command seperempatnya pada hari pertama jam 8 pagi.
* * * * * /scripts/script.sh; /scripts/scrit2.sh Untuk mengatur sebuah jadwal untuk beberapa pekerjaan pada sebuah cron job.
@reboot /scripts/script.sh Untuk menjalankan sebuah tugas tertentu setiap anda menyalakan sistem.
0 0 1 * *  /home/user/script.sh Untuk menjalankan sebuah command di hari pertama setiap bulan.

Perizinan Cron

Ada dua (2) file memainkan peran penting untuk cron job.

  • /etc/cron.allow – Jika cron.allow ada, itu harus berisikan nama dari user agar user dapat menggunakan cron job.
  • /etc/cron.deny – Jika file cron.allow tidak ada tetapi ada file cron.deny, maka untuk menggunakan cron job user harus tidak terdaftarkan di dalam file cron.deny.

Apa Itu Cron Job?

Cron adalah sebuah program utilitas untuk mengulangi tugas di masa mendatang. Memberikan sebuah command untuk menjadwalkan sebuah tugas, pada waktu tertentu, berulang kali adalah sebuah cron job.

Jika anda ingin menjadwalkan pekerjaan satu kali, untuk lain waktu, anda mungkin ingin menggunakan command lainnya. Tapi, untuk pekerjaan yang berulang, cron adalah solusi yang sempurna.

Cron adalah daemon, yang berarti cron bekerja pada background untuk menjalankan pekerjaan non-interaktif. Di Windows, anda mungkin familiar dengan proses background seperti Services.

Daemon selalu dalam status diam (idle) dan menunggu command ketika command tersebut meminta untuk menjalankan tugas tertentu – baik dalam komputer atau dari komputer lainnya yang berada di jaringan yang sama.

File cron adalah sebuah file teks yang sederhana yang berisikan command – command untuk dijalankan pada waktu tertentu. Standar sistem file crontab adalah /etc/crontab dan berlokasikan dalam sebuah direktori crontab, /etc/cron.*/. Hanya system administrator yang dapat mengubah file sistem crontab.

Tetapi, karena sistem operasi Unix-like mendukung banyak user, setiap user juga dapat membuat file crontab milik mereka sendiri dan meluncurkan command – command untuk menjalankan tugas – tugas kapanpun mereka mau. Cron daemon akan mengecek file tersebut dan menjalankan command yang ada di latar belakang sistem.

Dengan cron job, anda dapat mengotomatisasikan pemeliharaan sistem, memantau ruang disk, dan menjadwalkan backup. Karena sifatnya, cron job sangat bagus untuk komputer yang bekerja 24/7, seperti server.

Harap dicatat bahwa selain seringkali digunakan oleh system administrator, cron job juga sangat berguna untuk web developer. Contohnya, cron job digunakan untuk menonaktifkan akun – akun yang kadaluwarsa, memeriksa tautan yang rusak, atau bahkan mengirim berita untuk user yang ditargetkan.

Kesimpulan

Menyiapkan sebuah pekerjaan secara otomatis tidak hanya praktis tetapi juga membantu untuk mencegah anda dari kemungkinan untuk kehilangan kegiatan tepat waktu(?).

Cron job adalah sebuah cara yang bagus untuk mengelola tugas baik sebagai system administrator atau profesi lainnya seperti web developer. Semua yang anda butuh lakukan adalah menggunakan command yang tepat dan memilih waktu yang tepat.

Berikut adalah beberapa command – command dasar:

  • $ crontab e — Untuk membuat dan mengubah file crontab.
  • $ crontab -u username -e — Untuk mengubah file crontab yang dimiliki oleh user lainnya dengan akses sebagai superuser.
  • $ crontab -l — Untuk melihat daftar dari file crontab user.
  • $ crontab -r — Untuk menghapus file – file crontab.
  • $ crontab -a filename — Untuk memasang filename sebagai file crontab (dalam beberapa sistem, –a tidak dibutuhkan).

Setelah Anda mengetahui tips ini, cobalah untuk meregangkan otot Anda dan.

Penulis

Author

Nadia Agatha / @nadiaagathapramesthi

Nadia merupakan penerjemah lepas sejak 2016, kini ia menjadi penerjemah untuk Hostinger. Ia gemar membaca dan melakukan penelitian seputar penerjemahan dan sosiolinguistik. Disamping itu, ia juga suka bermain dengan kucingnya dan bercengkrama bersama teman-temannya di waktu senggang.

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!