Mengenal Cron pada Linux

     

    Pernahkah terlintas dalam pikiran kita untuk membuat program yang berjalan secara otomatis, seperti mengirimkan email kepada pelanggan setiap jam 2 pagi dan lain sebagainya? Di sistem operasi Linux, kita dapat menggunakan Crontab untuk membantu menyelesaikan masalah tersebut. Penggunaan Crontab pada sistem operasi Linux memang menjadi solusi yang sangat berguna untuk menjadwalkan tugas-tugas berulang seperti mengirimkan email kepada pelanggan pada waktu yang ditentukan atau bahkan tugas-tugas lainnya yang diperlukan secara berkala. Dengan Crontab, kita dapat dengan mudah menetapkan waktu dan frekuensi eksekusi tugas-tugas tersebut tanpa perlu campur tangan manual setiap kali. Ini memberikan keleluasaan bagi kita untuk fokus pada aspek kreatif dan strategis dalam pengelolaan sistem dan pengembangan perangkat lunak. Pada artikel ini, kita akan menjelajahi crontab pada Linux beserta contoh-contoh penggunaannya.

Apa itu crontab

Jika kita merujuk pada  man crontab di Ubuntu :
crontab is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in Vixie Cron.
dari definisi di atas ada beberapa poin :
  • crontab merupakan program yang ditujukan untuk install,deinstall (pasang dan melepas) cron daemon di Vixie Cron.
  • daemon adalah program yang berjalan di latar belakang komputer.
  • cron  merupakan job-scheduler (program yang diset secara terjadwal) pada sistem operasi UNIX-like.
  • Vixie Cron adalah sebuah software yang bertugas menghandle cron.

Kenapa Menggunakan Crontab 

Dalam goal utamanya penggunaan crontab adalah penjadwalan yang teratur, sehingga dapat :

  • meningkatkan efisiensi
  • meningkatkan fleksibilitas
  • manajemen sumberdaya yang lebih baik
  • meningkatkan skalabilitas

perintah-perintah dasar crontab

Perintah dasar terdiri dari command crontab dilanjut dengan - dan satu huruf lanjutan diantaranya :
  • crontab -l, perintah untuk menampilkan crontab dalam standard output 
  • crontab -e, perintah untuk mengedit file crontab
  • crontab -u <user> -<command lanjutan>, perintah untuk mengedit file crontab dengan spesifikasi user. Perintah ini sangat disarankan, demi alasan keamanan.
  • crontab -r, perintah untuk menghapus file crontab 
  • crontab -i, sama seperti perintah 'crontab -r' hanya saja sebelum menghapus terdapat prompt konfirmasi ya atau tidak untuk menghapus file.

syntax crontab  

Dalam mengisi file crontab terdapat syntax / format umum seperti berikut :
<menit> <jam> <hari> <bulan> <hari dalam minggu> <perintah>
 
dengan kemungkinan nilainya :
komponen kemungkinan nilai
menit 0-59
jam 0-23
hari 1-31
bulan 1-12
hari dalam minggu 0-6. 0 melambangkan hari minggu, terkadang beberapa sistem nilai 7 juga mewakili hari minggu
perintah perintah apa yang hendak dilakukan

selain diisi dengan nilai diatas, bisa diisi juga dengan simbol-simbol spesial diantaranya :
simbol artinya contoh
* (asterik) ambil semua jika kita mengisi * di jam, maka akan bermakna setiap jam
, (comma) beberapa jika kita meletakkan 2,4 di hari dalam minggu akan bermakna setiap selasa dan kamis
- (hypen) antara 2-4 di menit bermakna dari menit ke 2 sampai ke 4
/ (separator) pembagi setiap */20 di menit bermakna setiap 20 menit

contoh  syntax :

  • * * * * * echo $(date +%F_%H-%M-%S) >> hai.txt menambahkan tanggal dengan format (yyyy-mm-dd_hh-MM-ss) ke dalam file hai.txt setiap menit.
  • 1 * * * * echo $(date +%F_%H-%M-%S) >> hai.txt menambahkan tanggal dengan format (yyyy-mm-dd_hh-MM-ss) ke dalam file hai.txt setiap menit ke-1nya (dalam setiap jam).
  • */1 * * * * echo $(date +%F_%H-%M-%S) >> hai.txt menambahkan tanggal dengan format (yyyy-mm-dd_hh-MM-ss) ke dalam file hai.txt setiap 1 menit.
  • */5 * * * * echo $(date +%F_%H-%M-%S) >> hai.txt menambahkan tanggal dengan format (yyyy-mm-dd_hh-MM-ss) ke dalam file hai.txt setiap 5 menit.
anda bisa menggunakan https://crontab.guru/ explore lebih jauh.

Bagi anda yang tertarik tentang pengaplikasiannya bisa membaca artikel Backup Berkala MySQL 5.7.40 di Ubuntu 18.04 menggunakan Corn Job. Sekian dari saya terimakasih. (sufyan)

Referensi

Posting Komentar untuk "Mengenal Cron pada Linux"