Cron Job – Linux

nah kali ini akan sedikit bikin catetan ttg. Cron Job di Linux..

 

apa sih cron di linux itu ? sejenis apa ? tumbuh”an kah ? gorengan kah ? hewan melata kah ? ckckck

bukan ternyata bukan itu , dugaan pertama meleset semua , setelah diliat diraba dipikir” , jadi yg ane simpulkan cron itu adalah unix like scheduler dan merupakan singkatan dari chronograph atau seperti yang kata om wikipedia bilang merupakan akronim dari “Commands Run Over Night”

cron biasanya digunakan untuk mengatur jadwal task sehingga user dapat menjalankan perintah atau script pada waktu tertentu secara otomatis tanpa diperlukan user intervention , biasanya cron dipake untuk maintenance atau administrasi yang sifat nya berulang

Lalu , cron ini bisa buat ngapain aja ? nyetel mp3 kah ? muter film kah ? bukan ternyata bukan itu , ternyata nih beberapa fungsi cron :

  • Backup database , backup data atau backup system
  • Send e-mail secara automatic secara periodic
  • Reboot server / Halt system
  • Run / close program
  • etc.

nah , gimana cara biar kita tahu si cron ini udah terinstall secara default pada linux machine yang kita gunakan ?

cukup liat lewat

ps aux | grep cron

maka

root 3625 0.0 0.0 3480 1036 ? Ss 08:43 0:00 /usr/sbin/cron
louis 11502 0.0 0.0 3340 816 pts/1 S+ 10:06 0:00 grep cron

okay , gini nih cara pakai cron

kalau kita liat di direktori /etc , akan ada beberapa file cron , kalo ga percaya silahkan aja tengok menggunakan ls -la 

drwxr-xr-x 2 root root 4096 2009-10-10 09:19 cron.daily
drwxr-xr-x 2 root root 4096 2009-08-30 22:48 cron.hourly
drwxr-xr-x 2 root root 4096 2009-10-05 10:45 cron.monthly
-rw-r–r– 1 root root 724 2008-11-12 22:47 crontab
drwxr-xr-x 2 root root 4096 2009-08-30 22:48 cron.weekly

nah setelah dicoba , kalau kita meletakkan script dalam direktori cron.daily  atau cron.hourly , jadwal akan run berdasarkan direktori nya , nah terus kalau mau bikin jadwal sendiri diluar dari itu bagaimana dong ? engga bisa dong ? tentu saja bisa , langsung aja edit file crontab 

apaan lagi tuh crontab ? biskuit kah ? kentang goreng kah ? apa jangan” sejenis keripik singkong ? akibat salah fokus kali yah , dugaan pertama yang terlintas dipikiran selalu meleset jauh , hmm jadi crontab itu adalah cron table , sebuah file yang berisi jadwal yang berisi job yang mesti dilakukan pada waktu tertentu

 

nih begini isi crontab 

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don’t have to run the `crontab’
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root cd / && run-parts –report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )
#

nah syntax nya sendiri seperti ini nih

 # ┌───────────── min (0 - 59)
 # │ ┌────────────── hour (0 - 23)
 # │ │ ┌─────────────── day of month (1 - 31)
 # │ │ │ ┌──────────────── month (1 - 12)
 # │ │ │ │ ┌───────────────── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
 # │ │ │ │ │
 # │ │ │ │ │
 # * * * * * command to execute

menit ( min ) perintah akan dijalankan pada menit keberapa, nilai : 0 dan 59
jam ( hour ) perintah akan dijalankan pada jam keberapa, nilai : 0-23 , 0 adalah tengah malam
hari dalam sebulan ( day of month ) perintah akan dijalankan pada hari keberapa dalam sebulan , misal mau jalankan perintah pada hari ke 13 setiap bulan , dia akan mempunyai nilai 13
bulan ( month ) perintah akan dijalankan pada bulan keberapa dalam setahun, nilai : 1-12 atau nama bulan dalam bhs inggris
hari dalam minggu ( day of week ) perintah akan dijalankan pada hari keberapa dalam seminggu, nilai : 0-6 atau nama hari dalam bhs inggris ((Minggu=0 or 7) ato sun,mon,tue,wed,thu,fri,sat )
cmd to execute adalah perintah yang akan kita dijalankan

 

nah begitu deh kira – kira 🙂

referensi :

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s