Wednesday, 8 October 2014

Penggunaan crontab pada Terminal Linux

Dalam beberapa pekerjaan, seseorang dituntut untuk melakukan pekerjaan tersebut dengan rapih dan tepat waktu. Akan tetapi, manusia tidak dapat melakukannya dengan sempurna karena manusia memiliki batas kemampuannya sendiri. Maka manusia menciptakan sebuah sistem yang mampu membantu pekerjaan manusia.

Di dalam Linux terdapat command yang memungkinkan kita untuk melakukan pekerjaan, agar pekerjaan tersebut dikerjakan atau dilakukan dengan tepat waktu. Yaitu adalah crontab

Apa itu crontab?

Banyak sekali definisi daripada crontab sendiri. Namun saya menyimpulkan bahwa crontab merupakan daemon (proses yang berjalan tanpa terlihat user) yang digunakan untuk menjalankan perintah, command, atau script untuk dijalankan pada waktu tertentu pada sistem operasi Linux. Crontab banyak di aplikasikan pada proses maintenance pada suatu aplikasi, reboot server, backup data, kirim email atau maintenance pada sebuah game.

Bagaimana menjalankan crontab?

Sebelum menjalankan crontab, kita harus menginstallnya terlebih dahulu. Seperti halnya sebuah game mobil balap, sebelum kita dapat mengendalikan mobil tersebut pada game, maka kita harus menginstall game mobil tersebut sehingga kita dapat menjalankan program game tersebut dan memainkannya.

1. Cara installnya seperti berikut:

   a. Pastikan komputermu terhubung dengan internet

   b. Buka Terminal pada Linux

   c. Ketik pada Terminal:

                 Sudo apt-get install cron

2. Mengedit crontab:

Yang dimaksud dengan mengedit crontab adalah, mengatur crontab yang akan dilakukan sesuai dengan jadwal yang kita inginkan

   a. Ketik:
               
                Sudo crontab -e

   b. Format penulisan crontab adalah seperti berikut

                * * * * * /home/sigit/script.sh











~Bintang pertama: Bintang pertama menentukan menit. Menit yang dimaksud disini adalah menit sekali script atau perintah dilakukan


 ~Bintang kedua: Bintang kedua menunjukan jam. Jam tersebut menunjukan berapa jam sekali perintah atau script akan dijalankan


~Bintang ketiga: Bintang ketiga menunjukan tanggal. Tanggal disini menunjukkan tanggal berapa perintah atau script dijalankan. Tanggal yang dimasukkan berupa integer (angka) range dari 1 sampai 31


~Bintang keempat: Bintang keempat menunjukan bulan ke berapa script atau perintah dijalankan dengan memasukkan angka bulan yang diinginkan. Contohnya apabila kita ingin menjalankan script tersebut pada bulan Mei, maka kita mengisinya dengan memasukkan angka 3 pada bintng ke 4


~Bintang kelima: Bintang kelima menentukan pada hari apa script atau perintah dijalankan berdasarkan integer dari 0 sampai 6. Dijelaskan bahwa untuk hari minggu dimulai pada angka 0. Angka 1 pada hari senin dan seterusnya.


Dibagian kanan sebelah * * * * *, terdapat source atau directory (tempat menaruh perintah atau script) perintah atau script yang akan dijalankan. Penulisan source file tersebut dimulai dari root. Contoh: jika menaruh script (berupa script.sh) tsb pada Home, maka penulisannya:

                      /home/user_name_PC/script.sh


Contoh:

Mengeksekusi setiap 10 menit setiap hari:

                     * /10 * * *  /home/user_name_PC/script.sh

Mengeksekusi setiap Sabtu jam 12 siang:

                      0 12 * * 6  /home/user_name_PC/script.sh

Mengeksekusi setiap jam 9 malam pada hari kerja (Senin-Jumat):

                      0 21 * * 1-5  /home/user_name_PC/script.sh

     c. Kode spesial
crontab menyediakan kode-kode special untuk digunakan, berikut kodenya :
@reboot     Run once, at startup
@yearly     Run once  a year     "0 0 1 1 *"
@annually   (same as  @yearly)
@monthly    Run once  a month    "0 0 1 * *"
@weekly     Run once  a week     "0 0 * * 0"
@daily      Run once  a day      "0 0 * * *"
@midnight   (same as  @daily)
@hourly     Run once  an hour    "0 * * * *
Cara pemakaian :
@daily /home/sigit/script.sh

Sekian mengenai crontab yang dapat saya tulis. Kurang lebihnya mohon maaf. Apabila ada salah ketik dan kesalah pahaman mohon di beri pembenarannya. Just correct me if im wrong :)




No comments:

Post a Comment