penjadualan dengan sleep,at,crond dan anacron

sleep
perintah sleep digunakan untuk suspend atau diam dalam jangka wanktu yang di tentukan

sleep number of second
contoh
sleep 10; xmessage saatnya istirahat!
sleep 10; mp123 /home/mp3/ayunik.mp3

sleep 10s = detik sleep 10h = jam
sleep 10m =menit sleep 10d = hari

at
Digunakan untuk mengeksekusi sebuah atau lebih program diwaktu yang akan datang. Program yang berkaitan dengan at:
1.at, mendaftarkan perintah yang akan dijalnkan dimasa yang akan datang
2.atq, list atau tampilan daftar perintah yang akan di jalankan
3.atrm, menghapus perintah yang telah di jadwalkan (atrian)
4.batch, menjalankan program jika tingkat beban sistem memungkinkan.

fasilitas penjadulan dengan at berjalan di background, yang serign disebut daemon yaitu atd

/etc/init.d/atd status

contoh
at now + 2 minutes
at>fetchmail
at> (hasil dari perintah penyimpanan ctrl-d)

Spesifikasi waktu
selain now, bisa today, tomorrow, 4am, 4pm dll.
contoh:
jam 8.30 dinyatakn dengan 830
jam 1.45 dinyatakn dengan 1345
jam 8 malam dinyatakan dengan 20

am dan pm
jam 8.30 dinyatakan 8:30am
jam 1.45 dinyatakan 1:45pm
jam 8 malam dinyatakan 8pm

jam 12 siang dinyatakn 12noon
jam 12 malam dinyatakan 12midnight

atau bisa jugan dengan mengunakan

at 4am fri + 1 week
at now + 1 year
at now + 1 hour
at 4 jun 20
at 12midnight jul 4,2006
at 7:30pm today

contoh:
jika hari ini senin tanggal 24 juni 2006 ingin menjalankan sebuah program pada pukul 4 sore pada hari kamis atau 3 hari kemudian cara penulisanya ada 2 cara:

at 4pm + 3 day
atau
at 4pm juni 27

at 0330pm today + 3 days
at>echo “ingat jam 4 ada meeting”| wall efrizal@nurulfikri.com

hak akses mengunakan at
/etc/at.allow
/etc/at.deny

Menggunakan crond

Daftar atau tabel cron (crontab), yaitu file yang berisi jadwal perintah,
terletak di direktori spool (yaitu /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).

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 fulan # artinya mengedit crontab yang dimilki user fulan.
File konfigurasi crond:

/var/spool/cron/, berisi file-file crontab milik user-user yang terdaftar di sistem.
/etc/crontab, berisi crontab milik sistem secara umum.
/etc/cron.d/, berisi crontab milik paket-paket software.

Format crontab:

* * * * *
menit jam tanggal bulan hari perintah
(0-59) (0-23) (1-31) (1-12) (1-7)

Contoh (1):

* * * * * /sbin/tes.sh

0 6 20 mei, jun sun sh badarai

*/5 10-16 * * 1-6 /usr/bin/fetcmail

anacron

Anacron melihat “times tamps” atau tanda waktu yang dimiliki oleh job (tugas yang telah dijadwalkan)
di bawah direktori /var/spool/anacron/.
Jika sesuai dengan time stamp ada job yang terjadwal, anacron akan menjalankannya.
Anacron mengupdate time stamp untuk job tersebut.
Anacron dikontrol oleh file /etc/anacrontab. contoh:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

1 65 cron.daily run-parts /etc/cron.daily
7 70 cron.weekly run-parts /etc/cron.weekly
30 75 cron.monthly run-parts/etc/cron.monthly

Setiap jadwal terdiri atas 5 kolom, yaitu:
Kolom pertama menandakan periode dalam hari: 1 artinya setiap hari, 7 setiap 7 hari (seminggu),
dan 30 setiap 30 hari (bulan tertentu).
Kolom kedua menandakan delay (lama waktu dalam menit) kapan suatu job dijalankan.
Misalnya, 65 berarti anacron akan menjalankan job 65 menit setelah start. Mekanisme ini mencegah
banyak job yang telah dijadwalkan berjalan pada waktu bersamaan.
Kolom ketiga berisi identifikasi yang digunakan anacron (time stamp dan pesan).
Kolom keempat atau terakhir berisi daftar perintah yang akan dijalankan.
Anacron hanya pelengkap (add-on) bagi cron, bukan pengganti. Anacron tidak dapat mengeksekusi
setiap menit atau setiap jam dari job-job yang telah dijadwalkan.
Anacron juga tidak dijalankan oleh user-user yang berbeda, hanya root yang boleh.

Contoh Anacron:

Misal kita ingin komputer secara otomatis mengambil email setelah booting di pagi hari.
Karena kita melakukan booting tidak pada jam dan menit yang sama setiap hari,
maka kita tidak dapat menggunakan cron. Kita akan menggunakan Anacron, dengan membuat sebuah baris
pada file /etc/anacrontab:

1 3 getmail fetchmail -s

Artinya, setiap hari, 3 menit setelah start atau boot, jalankan program fetchmail secara silent
(tidak menampilkan proses download).
Karena anacron mengeksekusi semua perintah sebagai root, maka file konfigurasi fetchmail
(.fetchmailrc) harus memiliki permisi -rw——- atau 0600 dengan owner root dan group root,
dan diletakkan pada direktori /root.
# cd /root
# chmod 0600 .fetchmailrc
# chown root.root