Thursday, November 28, 2013

Configuring Cron Tasks in LINUX

File konfigurasi utama untuk cron , /etc/crontab , berisi baris berikut :

SHELL=/bin/bash 
PATH=/sbin:/bin:/usr/sbin:/usr/bin 
MAILTO=root HOME=/  
# run-parts 
01 * * * * root run-parts /etc/cron.hourly 
02 4 * * * root run-parts /etc/cron.daily 
22 4 * * 0 root run-parts /etc/cron.weekly 
42 4 1 * * root run-parts /etc/cron.monthly

Yang pertama empat baris adalah variabel yang digunakan untuk mengkonfigurasi lingkungan di mana tugas cron dijalankan . Variabel SHELL memberitahu sistem yang lingkungan shell untuk menggunakan ( dalam contoh ini shell bash), sedangkan variabel PATH mendefinisikan path yang digunakan untuk menjalankan perintah . Output dari tugas cron diemail ke username didefinisikan dengan MAILTO variabel . Jika MAILTO variabel didefinisikan sebagai string kosong ( MAILTO = " " ) , email tidak dikirim . Variabel RUMAH dapat digunakan untuk mengatur direktori home untuk digunakan ketika menjalankan perintah atau script .

Setiap baris dalam file crontab etc / / merupakan tugas dan memiliki format berikut :

minute   hour   day   month   dayofweek   command

menit - setiap bilangan bulat 0-59
jam - setiap bilangan bulat dari 0 sampai 23
hari - setiap bilangan bulat 1-31 ( harus menjadi hari yang valid jika sebulan ditentukan )
bulan - setiap bilangan bulat dari 1 sampai 12 ( atau nama pendek dari bulan seperti jan atau feb )
dayOfWeek - setiap bilangan bulat 0-7 , dimana 0 atau 7 mewakili Minggu (atau nama pendek dari minggu seperti matahari atau bulan)

perintah - perintah untuk mengeksekusi (perintah dapat menjadi perintah seperti ls /proc >> /tmp/proc atau perintah untuk mengeksekusi sebuah script khusus)
Untuk salah satu nilai di atas , tanda bintang ( * ) dapat digunakan untuk menentukan semua nilai yang valid . Sebagai contoh, tanda bintang untuk nilai bulan berarti menjalankan perintah setiap bulan dalam batasan nilai-nilai lain .

Sebuah tanda hubung ( - ) antara bilangan bulat menentukan berbagai bilangan bulat . Sebagai contoh, 1-4 berarti bilangan bulat 1 , 2 , 3 , dan 4 .

Sebuah daftar nilai yang dipisahkan dengan tanda koma ( , ) menentukan daftar. Sebagai contoh, 3 , 4 , 6 , 8 menunjukkan empat bilangan bulat tertentu .

Garis miring ( / ) dapat digunakan untuk menentukan nilai step. Nilai integer dapat dilewati dalam kisaran dengan mengikuti range dengan / <integer>. Misalnya, 0-59/2 dapat digunakan untuk mendefinisikan setiap menit di bidang menit. Nilai langkah juga dapat digunakan dengan tanda bintang. Misalnya , nilai * / 3 dapat digunakan dalam bidang bulan untuk menjalankan tugas setiap bulan ketiga.

Setiap baris yang diawali dengan tanda pagar ( # ) adalah komentar dan tidak diproses.

Seperti ditunjukkan dalam file /etc/crontab, script run-parts mengeksekusi script di /etc/cron.hourly//etc/cron.daily//etc/cron.weekly/, dan direktori /etc/cron.monthly/ pada setiap jam, harian, mingguan, atau bulanan masing-masing. File dalam direktori ini harus skrip shell .

Jika tugas cron diperlukan untuk dieksekusi pada jadwal selain per jam, harian, mingguan, atau bulanan, dapat ditambahkan ke direktori /etc/cron.d/. Semua file dalam direktori ini menggunakan sintaks yang sama seperti /etc/crontab.

Lihatlah Contoh 35.1 , " Contoh Crontab " untuk contoh .

# record the memory usage of the system every monday  
# at 3:30AM in the file /tmp/meminfo 
30 3 * * mon cat /proc/meminfo >> /tmp/meminfo 
# run custom script the first day of every month at 4:10AM 
10 4 1 * * /root/scripts/backup.sh
Example 35.1. Crontab Examples


User selain root dapat mengkonfigurasi tugas cron dengan menggunakan utilitas crontab.  Semua crontab user-defined disimpan di direktori /var/spool/cron/ dan dieksekusi menggunakan nama pengguna dari pengguna yang menciptakan mereka. Untuk membuat crontab sebagai user , login sebagai user itu dan ketik perintah crontab -e untuk mengedit crontab pengguna menggunakan editor ditentukan oleh variabel VISUAL atau LINGKUNGAN EDITOR. File ini menggunakan format yang sama seperti /etc/crontab. Ketika perubahan crontab disimpan, crontab disimpan sesuai dengan username dan ditulis ke file /var/spool/cron/username.

The cron daemon memeriksa /etc/crontab, yang ada di direktori /etc/cron.d/, dan direktori /var/spool/cron/ setiap menit untuk setiap perubahan. Jika ada perubahan yang ditemukan , mereka dimuat ke memori . Dengan demikian, daemon tidak perlu di-restart jika file crontab berubah.

0 comments: