Penjadwalan dalam Sistem Operasi Ubuntu Server

 


CRON

Cron berasal dari bahasa Yunani yaitu chronos yang berarti waktu. Cron sendiri merupakan sebuah command dalam operasi Linux untuk melakukan sistem penjadwalan pada waktu tertentu. Cron umumnya digunakan untuk proses otomasi, dimana suatu program atau aplikasi dijalankan dalam waktu tertentu. Untuk menggunakan cron, kita menggunakan ommand "crontab -e".

Perintah Crontab memungkinkan kita untuk menginstall atau membuka file Crontab untuk diedit. Kita dapat menggunakan perintah Crontab untuk melihat, menambah, menghapus, atau memodifikasi pekerjaan Cron menggunakan opsi berikut :

  • crontab -e : Mengganti atau membuat file jika belum ada.
  • crontab -l : Memperlihatkan isi file yang sedang diakses.
  • crontab -r : Menghapus file crontab.
  • crontab -i : Menghapus file crontab, nemun disertai opsi pilihan sebelum dihapus.
  • crontab -v : Memperlihatkan waktu terakhir saat mengganti isi file.
  • crontab -u <username> : Mengganti file pengguna lain (ini membutuhkan hak administrator sistem)


crontab -e

Setelah masuk ke text editor, masukkan beberapa konfigurasi seperti gambar dibawah ini

Konfigurasi Crontab


Dari beberapa konfigurasi terdapat fungsi masing masing, yaitu : 

syslog lastminute

Baris ini akan melakukan otomasi command "cp -r" yang digunakan untuk mengcopy file /var/log/syslog ke /home/solacete/syslog_lastminute, dengan konfigurasi * * * * * yang berarti akan dijalankan setiap menit.

syslog Hourly

Baris ini akan melakukan otomasi command "cp -r" yang digunakan untuk mengcopy file /var/log/syslog ke /home/solacete/syslog_hourly, dengan konfigurasi 15 * * * * yang berarti akan dijalankan setiap jam, pada menit 15, seperti  00:15, 01:15 dst.

syslog Daily

Baris ini akan melakukan otomasi command "cp -r" yang digunakan untuk mengcopy file /var/log/syslog ke /home/solacete/syslog_daily, dengan konfigurasi 30 1 * * * yang berarti dijalankan setiap hari pada jam 1:30.

syslog Monthly

Baris ini akan melakukan otomasi command "cp -r" yang digunakan untuk mengcopy file /var/log/syslog ke /home/solacete/syslog_monthly, dengan konfigurasi 0 0 2 * * yang berarti akan dijalankan setiap bulan, pada tanggal 2 jam 00:00

syslog Yearly

Baris ini akan melakukan otomasi command "cp -r" yang digunakan untuk mengcopy file /var/log/syslog ke /home/solacete/syslog_yearly, dengan konfigurasi 0 0 1 12 * yang berarti akan dijalankan setiap tahun, pada tanggal 1 Desember jam 00:00

free log

Baris ini akan melakukan otomasi command "free -m" yang hasilnya akan disimpan didalam file /home/solacete/free.log. Cron ini menggunakan konfigurasi 0,10,20,40 * * * * yang berarti akan dijalankan setiap jam, pada menit 0, 10, 20, dan 40. Sebagai contoh 00:00, 00:10, 00:20, 00:40, 01:00, 01:10 dst.
df log

Baris ini akan melakukan otomasi command "df" yang hasilnya akan disimpan didalam file /home/solacete/df.log. Cron ini menggunakan konfigurasi * * * * 1 yang berarti akan dijalankan setiap hari Senin.
rm syslog lastminute

Baris ini akan melakukan otomasi command "rm" yang akan menghapus file /home/solacete/syslog_lastminute. Cron ini menggunakan konfigurasi */5 * * * * yang berarti akan dijalankan setiap 5 menit.
ping log

Baris ini akan melakukan otomasi command "ping" yang hasilnya akan disimpan dalam file /home/solacete/ping.log. Cron ini menggunakan konfigurasi 0 5-10 * * * yang berarti akan dijalankan setiap hari pada jam 5:00, 6:00, 7:00, 8:00, 9:00 dan 10:00.

Jika sudah, kita bisa gunakan CTRL+X untuk menyimpan hasil perubahan pada editor nano. Maka akan menampilkan bahwa crontab sedang di install, seperti gambar dibawah.

installing new crontab

Ketika jam pada sistem operasi Linux memenuhi crontab, maka program atau aplikasi yang bersangkutan akan dieksekusi. Berikut merupakan hasil dari eksekusi Crontab diatas.

List of crontab

$ cat df.log

$ cat free.log


Cron juga dapat digunakan untuk menjalankan script ketika sistem operasi direstart. Sebagai contoh, coba buat sebuah file misalkan dengan nama cron_reboot_test sebagai berikut :


Selanjutnya menambahkan command di baris entry baru yaitu "@reboot rm -r /home/solacete/cron_reboot_test pada crontab untuk menghapus file cron_reboot_test ketika sistem reboot/restart.

@reboot rm -r /home/solacete/cron_reboot_test

Hasil setelah di reboot

Comments