Menjalankan aplikasi secara otomatis dengan aplikasi penjadwalan Cron (auto scheduled tasks)


Pernahkah anda ingin melakukan reboot pada server di waktu-waktu tertentu?? Jika server anda menggunakan sistem operasi linux (utamanya Ubuntu), maka telah ada aplikasi yang mampu mengakomodasi keinginan anda tersebut. Salah satu aplikasi tersebut bernama cron, cron ini adalah aplikasi daemon (berjalan secara background di dalam system) yang membaca baris perintah yang di simpan melalui crontab untuk dijalankan. Setiap user yang di dalam system memiliki file crontab masing-masing termasuk user root yang dapat anda gunakan untuk menjalankan perintah-perintah administratif system seperti penghapusan log, restart system atau layanan (service) dan lain-lain.

Berikut contoh kasus yang akan saya bahas pada tulisan kali ini, yaitu saya ingin melakukan restart pada server Ubuntu saya, setiap jam 23.00WIB, maka berikut langkah-langkah yang harus saya tempuh:

1. Pertama silakan anda buka terminal, lalu jalankan perintah di bawah:

 sudo crontab -e

2. Kemudian anda akan melihat tampilan konfigurasi seperti di bawah ini:
no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest="" p="">
3. /usr/bin/mcedit
4. /usr/bin/vim.basic
5. /usr/bin/vim.tiny
Choose 1-5 [2]: 4
karena saya lebih familiar menggunakan aplikasi editor vim, maka saya memilih nomer 4 kemudian ENTER.

4. Setelah itu anda akan melihat tampilan seperti dibawah:
# m h dom mon dow command
kemudian tambahkan konfigurasi di atas pada baris dibawahnya sehingga terlihat seperti ini:

 #  m h dom mon dow   command 
    0 23 *   *    *   /sbin/reboot 

keterangan:

  • m : minute (menit) dalam 0-59
  • h : hour (jam) dalam 0-23 dimana pukul 0 adalah tengah malam / midnight.
  • dom : day of month (hari dalam angka selama sebulan) yaitu dari angka 1-31
  • mon : bulan dalam setahun dalam angka (januari – desember) yaitu dari 1 -12
  • dow : hari dalam seminggu (minggu - sabtu) yaitu dari 0-6
5. Kemudian simpan hasil edit anda tadi lalu keluar dari aplikasi vim, maka anda akan mendapat keterangan:
crontab: installing new crontab
pastikan anda menulis lengkap lokasi perintah yang anda jalankan, jangan nama aplikasinya saja, karena oleh system akan dibaca lokasi aplikasi anda berada di dalam folder /

Perlu anda ketahui juga, saat anda menggunakan sudo ketika akan melakukan konfigurasi penjadwalan dengan crontab, maka itu berarti anda melakukan penjadwalan tersebut dengan user root.

Jika anda ingin menjalankan dengan user anda sendiri, maka hilangkan perintah sudo saat akan melakukan penjadwalan dari:

 sudo crontab -e

menjadi:

 crontab -e

Dengan user anda sendiri maka perintah-perintah yang dapat anda jalankan pun menjadi terbatas, tidak seluas saat anda menggunakan user root.

Anda bisa membatasi siapa saja user di dalam system yang bisa menggunakan aplikasi ini dengan membuat file /etc/cron.allow dan atau /etc/cron.deny:
  • Jika terdapat file /etc/cron.allow maka pastikan user anda terdaftar di dalamnya agar dapat menggunakan aplikasi cron, dimana satu user anda tulis dalam satu baris.
  • Jika terdapat file /etc/cron.deny maka pastikan user anda tidak terdapat di dalam file tersebut agar bisa menggunakan aplikasi cron ini.
  • Jika kedua file (cron.deny dan cron.allow) telah ada di dalam system, pastikan nama user anda masuk ke dalam file cron.allow agar dapat menggunakan aplikasi cron tersebut.
Sebagai tambahan, anda bisa menggunakan(menginstall) aplikasi gnome-schedule bagi pengguna Ubuntu Desktop yang memakai Gnome atau Unity Desktop, apabila anda ingin mengedit file crontab dengan antar muka grafis (tidak melalui terminal). Mudah bukan? Semoga menambah ketertarikan anda dalam bermain-main dengan Ubuntu dan terima kasih telah berkunjung :P

Untuk contoh-contoh penjadwalan lainnya dengan crontab, anda bisa membaca artikel dengan judul "Studi kasus macam-macam penjadwalan dengan aplikasi cron".

Beberapa artikel terkait:

Comments