Rabu, 15 Agustus 2012

Menggunakan ATD di Centos

|0 komentar
Di Linux, kita dapat menentukan kapan suatu tugas atau program di-eksekusi.  Pengaturan waktu atau penjadwalan ini dapat berlangsung secara berulang maupun sesaat (hanya sekali eksekusi) di waktu yang akan datang. Contoh jadwal yang berulang, kita memerintahkan komputer untuk mengambil email setiap 30 menit, setiap hari. Contoh penjadwalan sesaat, komputer akan mengambil email besok siang pada jam 13.00. Bagaimana caranya? Dalam artikel ini, saya akan menjelaskan cara penggunaan atd untuk mengatur jadwal  sesaat.

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.

cek apakah program at sudah berjalan atau belum didalam komputer kita dengan cara :

ps auxf |grep atd
jika sudah kita lihat status program dengan cara :
[root@lukman ~]# service atd status
atd (pid 2709) is running...

Jika layanan belum berjalan lakukan startup dengan perintah sbb :
[root@lukman ~]# service atd start
Starting atd:                              [ OK ]


Sekarang ita akan mencoba mempelajari bagaimana penggunaan at dalam mengeksekusi tugas. contohnya sbb :

Bentuk umum perintah at adalah:
at [-V] [-q <queue>] [-f <file>] [-mld] <TIME>
queue diganti dengan nama antrian, file adalah nama file yang berisi daftar perintah yang akan dijalankan, dam TIME adalah  spesifikasi waku yang akan dijelaskan kemudian. -m artinya mengirim email kepada user yang menjalankan at, -l artinya list (sama dengan atq), dan -d artinya delete (sama dengan atrm).

- Format jam HH:MM
HH = Jam
MM = Menit

Contoh :
#at 12:45
#at> wall “Apa kabar siank ini ?”
#at>(klik CTRL + D)

maka pesan "Apa kabar siank ini ?" akan muncul pada pukul 12:45 di terminal.

- Format Tanggal MMDDYY, MM/DD/YY atau MM.DD.YY
MM = Bulan
DD = Tanggal
YY = Tahun

Contoh :
#at -t 201101031112
#at> wall “Waktunya Rapat !”
#at>(ketikan CTRL + D)

maka pesan “Waktunya Rapat !” akan tampil pada tahun 2011 bulan 01 tanggal 03 pada pukul 13.54.


Untuk Contoh yang lebih spesifik, kita akan mencoba untuk memback-up suatu direktori /etc ke /opt pada tahun 2011 bulan 8 dan tanggal 4 pada jam 05:58. maka lakukan perintah sebagai berikut :

at -t 201108040558
at> cp -r /etc /opt
at> tar -czvf /opt/hasilbackup.tar.gz /opt/etc
at> rm -rf /opt/etc
at> wall "udah beres backup"
at> ctl+D

dalam contoh diatas cp -r berfungsi untuk mengcopy sebuah direktori. dimana direktori etc di copy ke direktory /opt. kemudian beris ke 2 melakukan compres  /etc yang ada di /opt menjadi sebuah file yang bernama hasilbackup.tar.gz. baris ke -3 melakukan penghapusan direktori /etc yang berada di /opt agar lebih effisiien dalam penggunaan memory karena ada 2 data yang sama. baris ke -4 memunculkan koment yang berisi "Udah beres back-up". baris ke -5 melakukan penyimpanan terhadap perintah at.


bisa juga kita memasukan  perintah tadi kedalam sebuah file agar lebih mudah. dengan cara sbb :


masukkan perintah at kedalam sebuah file. contohnya sbb :
vim backup.txt
at> cp -r /etc /opt
at> tar -czvf /opt/hasilbackup.tar.gz /opt/etc
at> rm -rf /opt/etc
at> wall "udah beres backup"
(save dengan) :wq 

#at now + 1 minutes < backup.txt

maka file akan dieksekusi 1 menit setelahnya.
 
- Format frase 
hours, untuk jam
days, untuk hari
weeks, untuk minggu
months, untuk bulan
years, untuk tahun
midnight, untuk tengah malam
noon, untuk siang hari
teatime, untuk sore hari hari jam 4

contoh :

at midnight 
at> wall “Waktunya Tidur.. ayo jangan main mulu!” 
at> (tekan ctrl-d )
Perintah diatas akan dilakukan saat tengah malam 00:00. Kita juga dapat mengubahnya menjadi noon atau teatime (4pm).

untuk contoh terakhir, misalnya anda harus membersihkan kamar sekitar 40 menit lagi. Penjadwalan dapat dilakukan sebagai berikut :
at now + 35 minutes 
at> echo “Bersiahkan kamar mandi dulu gan..!”
at> ctrl-d
Sehingga anda akan menerima email 5 menit sebelum saat pertemuan. Anda dapat menjalankan beberapa perintah yang diinginkan sebelum kombinasi ctrl-d ditekan.

Untuk Contoh yang lebih

Izin Akses 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.

contoh penggunaannya :

# vim /etc/at.deny
lukman
(tekan Esc)
(ketik) :wq     // perintah ini untuk menyimpan file

 dalam contoh diatas digambarkan bahwa user lukman tidak memiliki hak akses untuk melakukan at.

Bottom 2

Bottom 3