{{ message }}

Cara Menggunakan CRON

13/04/2017 | Web Tools

CRON adalah sebuah tools yg akrab dengan lingkungan shell UNIX yg berguna untuk melakukan pengeksekusian perintah-perintah shell otomatis secara schedular. Secara original CRON digunakan utk melakukan operasi script dalam hal pengelolaan sistem operasi. Namun tools ini juga banyak digunakan utk melakukan otomatis script di web hosting, misal melakukan schedular PHP script di web hosting yg berisi operasi database maupun file. Karena itu sebagai web developer sangat bermanfaat untuk mengerti penggunaan CRON, baik sebagai tools pengelolaan schedular script sistem operasi, maupun untuk menyetingnya mengeksekusi script di hosting kita dalam rangka pengelolaan aplikasi yg kita buat.

Pada experiment kali ini saya asumsikan Anda menggunakan sistem operasi berbasis UNIX seperti Linux (variant bebas ex. Ubuntu, Manjaro, dll), lalu aktiflah di terminalnya karena kita akan mencoba beberapa perintah shell. Jika Anda adalah menggunakan VPS biasanya sistem operasi yg populer adalah Linux dan Anda akan mendapatkan akses terminal secara remotly. Atau Anda menggunakan shared hosting, fitur CRON dapat Anda kendalikan biasanya di cpanel Anda kalau hosting Anda mendukung CRON (umumnya mendukung).

Baiklah sekarang kita akan mencoba cara menggunakan CRON, yang pertama Anda lakukan adalah memastikan CROND (CRON Daemon) terinstal dengan baik dan sudah running di background di komputer Anda. Jalankan perintah berikut ini;

ps -aux | grep cron

Pastikan setelah Anda menjalankan perintah tersebut, tertera di list bahwa CROND sedang berjalan. Jika tidak maka Anda perlu menginstal CRON terlebih dahulu dan menyetingnya. Umumnya CRON sudah ada (terinstal dan berjalan) di berbagai distribusi OS Linux tanpa perlu menginstal dan menyettingnya secara manual.

Eksekusi Script Otomatis Perjam, Perhari, Perminggu dan Perbulan

Untuk melakukan eksekusi script otomatis yg tidak terlalu spesifik waktunya seperti perjam, perhari maupun perbulan, CRON sudah menyediakan folder. Dimana di dalam folder-folder tersebut jika kita meletakan script shell/bash maka script tersebut akan diekseksi sesuai waktu (perjam/perminggu/perbulan/perhari) sesuai dengan nama folder-nya. Untuk itu silakan berpindah ke direktori /etc menggunakan terminal Anda dengan perintah;

cd /etc
Lalu silakan check/lihat folder CRON didalam direktori /etc tersebut dengan menggunakan perintah ls. Jika Anda menggunakan perintah ls saja maka Anda akan melihat terlalu banyak folder yg tampil, maka gunakanlah perintah ls yg lebih spesifik;
ls | grep cron

Disitu Anda akan melihat 4 folder CRON yaitu;

  1. cron.hourly : untuk pengeksekusian otomatis script perjam
  2. cron.daily : untuk pengeksekusian otomatis script perhari
  3. cron.weekly : untuk pengeksekusian otomatis script perminggu
  4. cron.monthly : untuk pengeksekusian otomatis script perbulan

Cara untuk membuat script shell Anda dieksekusi otomatis adalah cukup mudah. Anda hanya perlu meletakan script Anda di dalam folder tersebut, maka secara otomatis CRON akan mengeksekusi script Anda dengan periode waktu sesuai dengan nama foldernya. Misalnya jika Anda letakan script Anda di folder cron.hourly maka CRON akan mengeksekusi script Anda berulang-ulang setiap pergantian jam. Sebagai contoh saya akan membuat script shell sederhana untuk dieksekusi perjam, script shell ini berisi perintah untuk melakukan log waktu dengan cara menambah text berisi informasi waktu ke sebuah file text.

 
!/bin/sh
 
date >> ~/log.txt
 

Note: tulislah perintah shell dengan benar berikut #!/bin/sh nya agar CRON dapat mengeksekusinya dengan baik. Simpanlah script tersebut misalnya di folder /etc/cron.hourly misalnya dengan nama logwaktu (perhatikan folder /etc/cron.hourly ini biasanya hak aksesnya root jadi utk membuat file gunakan perintah sudo didepannya). Lalu ubahlah hak akses file tersebut menjadi dapat dieksekusi;

sudo chmod 755 /etc/cron.hourly/logwaktu

Setelah selesai maka Anda dapat memantau buktinya, yaitu di file ~/log.txt yg akan selalu bertambah text berinformasi waktunya setiap jam berganti.

CRONTAB

Dengan CRONTAB kita dapat mengatur waktu pengeksekusian otomatis script secara lebih spesifik. Untuk melihat script apa saja yg berjalan di CRONTAB gunakan perintah;

sudo crontab -l

Untuk melakukan penambahan/pengeditan pada CRONTAB gunakan perintah;

sudo crontab -e

Untuk cara penggunaan CRONTAB lebih detail silakan kunjungi web berikut ini https://gosigitgo.wordpress.com/2010/03/18/tutorial-penggunaan-crontab-scheduler-di-ubuntu/