Proses Penjadwalan Cron di FreeBSD Dengan File Crontab

· 2 min read

Secara default FreeBSD menempatkan berkas Crontab di /etc/crontab. Berkas ini berisi pekerjaan terjadwal yang dijalankan oleh sistem, dan direktori /v

Crontab adalah perintah Unix yang membuat tabel atau daftar perintah, yang masing-masing akan dieksekusi oleh sistem operasi (OS) pada waktu yang ditentukan oleh pengguna dan dieksekusi secara teratur sesuai dengan instruksi skrip yang dibuat oleh pengguna. Crontab digunakan untuk membuat file crontab (daftar) dan kemudian digunakan untuk memodifikasi file crontab yang telah dibuat sebelumnya.

Crontab, yang sering disebut tabel cron, adalah file yang berisi jadwal berbagai entri cron yang harus dijalankan pada waktu yang telah ditentukan. Cara lain untuk menggambarkan crontab adalah sebagai utilitas yang memungkinkan tugas berjalan secara otomatis pada interval reguler di latar belakang oleh daemon cron.

Cron adalah utilitas standar sistem operasi FreeBSD yang memungkinkan otomatisasi tugas. Ini adalah daemon, yang merupakan proses yang biasanya dimulai saat boot-up dan berjalan di latar belakang. Daemon Cron adalah penjadwal berbasis waktu yang dapat berjalan secara otomatis. Sementara itu, pekerjaan Cron adalah tugas yang dilakukan oleh Cron yang terjadi selama proses boot-up atau booting, atau selama waktu yang ditentukan oleh pengguna.


1. Crontab dan Cron Jobs

Pekerjaan cron adalah perintah yang dijalankan oleh daemon cron pada interval yang dijadwalkan secara teratur. Ini juga dikenal sebagai jadwal cron, karena berisi instruksi khusus tentang perintah mana yang harus dijalankan dan kapan perintah tersebut harus dimulai.


konfigurasi file crontab di freebsd


Pengguna dapat mengirimkan pekerjaan cron dengan menentukan perintah crontab dengan tanda -e atau opsi -e. Perintah tersebut memanggil sesi penyuntingan sehingga pengguna dapat membuat file crontab dan menambahkan entri untuk setiap pekerjaan cron dalam file tersebut. Semua entri harus dalam bentuk yang dapat diterima oleh daemon cron.

Cron biasanya digunakan oleh administrator sistem untuk menjalankan proses berkala. Contoh proses yang dapat dijadwalkan dengan Cron meliputi:
  1. Cadangkan data dan file penting.
  2. Memperbarui perangkat lunak dan paket.
  3. Membersihkan dan mendefragmentasi disk.
  4. Mengirim email otomatis sesuai jadwal.
  5. Mengirim email dengan alamat IP saat boot-up.
  6. Membersihkan file log, dll.
Pada sistem FreeBSD, seperti pada kebanyakan sistem tipe UNIX lainnya, penjadwalan disebut cron. Sebagai daemon mandiri, Cron dapat berjalan terus-menerus dan memeriksa berkas masukannya (crontab) setiap menit untuk melihat apakah berkas tersebut telah dimodifikasi atau berisi tugas yang perlu dijalankan pada saat itu.

Salah satu keuntungan menggunakan Cron adalah proses cron tidak perlu dimulai ulang, berkas Cron akan secara otomatis membaca perubahan setiap menit.


2. File Crontab

Secara default FreeBSD menempatkan berkas Crontab di /etc/crontab. Berkas ini berisi pekerjaan terjadwal yang dijalankan oleh sistem, dan direktori /var/cron/tabs khusus memungkinkan pengguna individu untuk membuat berkas antrean crontab mereka sendiri.

Jika memungkinkan, sebaiknya jangan mengedit berkas /etc/crontab, tetapi buat berkas antrean terpisah. Setiap berkas crontab ditempatkan di direktori /var/cron/tabs. Mekanisme keamanan akan memungkinkan pengguna untuk membuat dan mengedit berkas mereka sendiri tanpa mengganggu berkas pengguna lain. Mekanisme ini adalah utilitas crontab.

Berkas crontab berisi entri untuk setiap pekerjaan cron, dengan setiap entri dipisahkan dari entri berikutnya oleh karakter baris baru. Selain itu, setiap entri berisi enam kolom/bidang yang dipisahkan oleh spasi.

Lihat contoh 6 kolom dari berkas crontab di bawah ini.

root@ns1:~ # ee /etc/crontab
#minute   hour    mday    month   wday    who     command
Jika kita terjemahkan, 6 bidang file crontab adalah sebagai berikut.

root@ns1:~ # ee /etc/crontab
#menit   jam   haridalamsebulan  bulan  haridalamseminggu   user  perintah
Cara pengisian setiap kolom adalah sebagai berikut:
  1. Minutes: Range from 0 to 59.
  2. Hour: Range from 0 to 23.
  3. Day of the month: Range from 1 to 31.
  4. Months: Range from 1 to 12.
  5. Day of the week: Range from 0 to 6, where 0 = Sunday.
  6. who: root.
  7. Command: newsyslog.
Lihat contoh file crontab di bawah ini.
root@ns1:~ # ee /etc/crontab
# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD$
#
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
#
#minute hour    mday    month   wday    who     command
#
# Save some entropy so that /dev/random can re-seed on boot.
*/11    *       *       *       *       operator /usr/libexec/save-entropy
#
# Rotate log files every hour, if necessary.
0       *       *       *       *       root    newsyslog
#
# Perform daily/weekly/monthly maintenance.
1       3       *       *       *       root    periodic daily
15      4       *       *       6       root    periodic weekly
30      5       1       *       *       root    periodic monthly
#
# Adjust the time zone if the CMOS clock keeps local time, as opposed to
# UTC time.  See adjkerntz(8) for details.
1,31    0-5     *       *       *       root    adjkerntz -a


3. Bagaimana cara menggunakan file Crontab

Untuk lebih memahami perintah crontab, berikut ini beberapa contoh penulisan perintah file /etc/crontab.

a. Menjalankan program yang tidak terikat

59 12 * * * gunungrinjani /usr/local/bin/unbound
Script di atas menjelaskan bahwa pengguna Gunungrinjani akan menjalankan program unbound setiap hari pada pukul 12:59.

b. Menjalankan program redist-cli

0 21 * * * root /usr/local/bin/redis-cli
Script di atas menjelaskan, user root akan menjalankan program redis-cli setiap hari pada pukul 21:00.

c. Restart program apache24

0 1 * * 2-7 root root /usr/local/etc/rc.d/apache24 restart
Keterangan dari script di atas adalah user root akan melakukan restart program apache24 setiap hari selasa sampai sabtu pukul 01.00.

d. Matikan program apache24

30 07,09,13,15 * * * /usr/local/etc/rc.d/apache24 stop
Keterangan dari script di atas adalah akan mematikan program apach24 pada pukul 07:30, 09:30, 13:30 dan 15:30.

e. Menyalakan program yang tidak terikat

*/10 * * * * /usr/local/etc/rc.d/unbound start

Skrip di atas akan mengaktifkan program yang tidak terikat setiap 10 menit.

Simpulannya, Crontab dapat menjadi alat yang ampuh untuk mengotomatiskan tugas-tugas yang berulang, tetapi juga dapat menimbulkan masalah jika tidak dikelola secara efektif. Dengan mengikuti praktik terbaik untuk memantau dan mengelola pekerjaan cron, pengembang dapat memastikan aplikasi mereka terus berjalan dengan lancar dan efisien.
Subscribe on LinkedIn Proses Penjadwalan Cron di FreeBSD Dengan File Crontab

Enclosures Link: Proses Penjadwalan Cron di FreeBSD Dengan File Crontab

Silahkan Berkomentar, Kakak...! Bunda...!

Posting Komentar