cron

cron dapat diaktifkan agar jalan saat Linux dinyalakan (boot) melalui ntsysv atau manual melalui terminal. Contoh cara mengaktifkan pada RedHat:

# /etc/rc.d/init.d/crond start

cron merupakan program daemon yang setiap menit men-cek apakah ada perintah yang mesti dijalankan. Daftar atau tabel cron (crontab), yaitu file yang berisi jadwal perintah, ada di direktori spool (misalnya /var/spool/cron/). Nama file itu sama dengan nama user pemilik atau pembuat jadwal. Untuk membuat atau mengedit crontab, user dapat menggunakan program yang juga bernama crontab. Secara default, crontab akan menjalankan editor yang dijadikan standar, biasanya vi. Sebagai root, kita dapat mengedit langsung file crontab yang ada di direktori spool cron (/var/spool/cron/nama_user) atau menggunakan program bantu Linuxconf (khusus RedHat dan turunannya).

Ada 3 option dalam menjalankan crontab sebagai user biasa:
$ crontab -e (artinya mengedit atau membuat baru tabel cron atau daftar tugas).
$ crontab -l (artinya menampilkan daftar tugas yang telah ada).
$ crontab -r (artinya menghapus daftar tugas yang ada).
Sebagai root, kita dapat mengedit, melihat atau menghapus crontab user dengan tambahan option -u, misalnya:
# crontab -eu rus (artinya mengedit crontab yang dimilki user rus).

Format crontab
Sebuah crontab merupakan daftar program yang akan dijalankan secara berulang melalui terminal atau command line, lengkap dengan waktu kapan program tersebut dijalankan. Setiap program dijadwalkan dalam satu baris dengan makna sebagai berikut:
menit jam tanggal bulan hari
Contoh crontab di bawah ini akan menjalankan fetchmail setiap menit (*), setiap jam (*), setiap hari/tanggal (*), setiap bulan (*) dan setiap hari dalam seminggu (*).
* * * * * fetchmail
Contoh berikut ini, fetchmail hanya dijalankan setiap (interval) 5 menit (*/5), antara jam 8 pagi hingga jam 5 sore (8-17), setiap hari Senin hingga Jumat (1-5).
*/5 8-17 * * 1-5 fetchmail
Nama (case sensitive) juga dapat digunakan untuk crontab, misalnya sun-sat (artinya Minggu hingga Jumat), jan-dec (Januari – Desember).

Izin Menggunakan crontab
Ada 2 file yang berfungsi mengatur pemberian izin penggunaan crontab, yaitu /etc/cron.allow dan /etc/cron.deny. Yang dicek pertama adalah cron.allow, yaitu daftar user yang diizinkan menggunakan crontab. User selain yang terdaftar di cron.allow tidak boleh menggunakan crontab. Bila cron.allow tidak ada, cron.deny akan dibaca. User selain yang terdaftar di cron.deny diizinkan menggunakan crontab. Jika kedua file tidak ada, semua user dapat menggunakan crontab.

at

Perintah (command) at digunakan untuk membuat jadwal eksekusi sebuah atau lebih program di waktu yang akan datang. Ada 4 perintah yang terkait dengan at, yaitu:
1. at, artinya jalankan perintah atau program pada watu yang ditentukan.
2. atq, artinya list atau tampilkan daftar perintah yang akan dijalankan.
3. atrm, artinya batalkan perintah yang telah dijadwal.
4. batch, artinya jalankan perintah jika tingkat beban sistem memungkinkan.
Sebelum menjalankan at, daemon at (atd) harus dijalankan, misalnya di RedHat dengan perintah sebagai berikut:
# /etc/rc.d/init.d/atd start
Contoh penulisan peintah at:
# at now + 2 minutes
at> fetchmail
at>
Catatan: merupakan hasil penekanan tombol atau ^D. Gambar-1 memperlihatkan tampilan ketika menjalankan perintah at tersebut, yang maksudnya adalah program fetchmail akan dijalankan 2 menit setelah menajalankan at ini.
Bentuk umum perintah at adalah:
at [-V] [-q ] [-f ] [-mld]

Spesifikasi Waktu
Selain now (sekarang), waktu juga dapat dinyatakan dengan today (hari ini), tomorrow (hari esok), 4am (jam 4 pagi), 4pm (jam 4 sore), dll. Penulisan waktu ini dapat secara mutlak atau relatif. Contoh, jika saat ini hari Senin, tanggal 16 April 2001, dan kita ingin menjalankan sebuah program pada pukul 4 sore pada hari Kamis atau 3 hari kemudian, ada 2 cara menuliskan perintah:
at 4pm + 3 days
atau
at 4pm April 19

Izin Menjalankan at
Seperti cron, at juga dikontrol oleh 2 file, /etc/at.deny dan /etc/at.allow. /etc/at.allow akan dicek lebih dulu. Jika ada, hanya user yang tercatat di at.allow yang diizinkan menggunakan at. Jika /etc/at.allow tidak ada, /etc/at.deny akan dicek. Semua user yang tidak tercantum di dalam at.deny dapat menjalankan at. Kebalikan dari cron, jika kedua file tidak ada, hanya superuser (root) yang diizinkan menggunakan at.