Thursday, July 3, 2008

About Crontab

cron adalah program bawaan linux yang memungkinkan kita untuk menjalankan perintah / program pada interval waktu yang telah ditentukan.
misalnya,
 kita ingin menghapus semua file yang ada di /file setiap jam 6 sore.
 kita ingin membackup file yang ada di /data setiap awal bulan
 dsb.
pekerjaan2 tersebut bisa kita lakukan secara otomatis dengan bantuan cron.

dalam debian cron package merupakan bagian dari base system dan sudah berjalan secara default.

untuk mengecek apakah cron sudah jalan menggunakan perintah :

ps auwx | grep cron

jika cron sudah jalan, maka akan tampak seperti berikut :

root 5811 0.0 0.2 2336 912 ? Ss 14:29 0:00 /usr/sbin/cron


jika cron belum jalan, ketik perintah :

/etc/rc.d/cron start
Perintah-perintah pada cron:
crontab -e Untuk mengedit file crontab, atau membuatnya jika belum ada.
crontab -l Menampilkan isi dari file crontab
crontab -r Menghapus file crontab
crontab -v Menampilkan kapan terakhir kalinya kamu mengedit file crontab tersebut
syntax crontab :
* * * * * Command to be executed
- - - - -
| | | | |
| | | | +----- Day of week (0-7)
| | | +------- Month (1 - 12)
| | +--------- Day of month (1 - 31)
| +----------- Hour (0 - 23)
+------------- Min (0 – 59)
contoh :
30 04 * 3-5 * backup
kolom arti nilai contoh
1 menit 0 - 59 30, artinya pada menit ke 30 pada jam yang dipilih
2 jam 0 - 23 04, artinya perintah dijalankan pada pukul 4
3 tanggal 1 - 31 *, artinya perintah akan dijalankan tiap hari
4 bulan 1 - 12 3 - 5, artinya perintah ini akan dijalankan pada bulan 3 – 5 yaitu bulan Maret, april dan mei
5 hari dalam minggu 1 - 7 *, artinya dijalankan setiap hari dalam minggu tersebut
6 perintah backup, perintah tersebut akan dijalakan pada waktu yang ditetapkan di atas.

jadi perintah backup akan dilaksanakan pada pukul 04:30 setiap hari pada bulan Maret sampai Mei.
SCRIPT PHP DALAM CRONTAB

untuk menjalankan script php dalam crontab, pertama kita harus tau dulu PHP terinstall sebagai script CGI atau modul apache.
informasi tersebut dapat dilihat di phpinfo() pada field SERVER API. jika pada field SERVER API tertulis CGI maka kita harus mengkompile nya sebagai script CGI, jika tertulis APACHE maka kita harus menjalankanya sebagai modul apache.

1. COMPILE CGI
jika pada SERVER API nya tertulis CGI maka cara menjalankan script php di crontab dengan menambahkan
#!/usr/local/bin/php -q
pada baris pertama file php yang ingin dijalankan. kemudian, jangan lupa memberi akses eksekusi pada file tersebut ( chmod 755 script.php )

crontab -e
* * * * * php /path/to/your/script.php
2. APACHE MODULES
jika pada SERVER API nya tertulis APACHE maka untuk menjalankan scipt php membutuhkan apache sebagai web servernya. dengan kata lain, untuk menjalankan script php harus menggunakan web browser.
pertama kita menginstal lynx( Lynx is a small web browser, generally available on Unix and Linux ).

crontab -e
* * * * * lynx -dump http://www.somedomain.com/script.php


There is another way that seems to be independent of whether php is installed as a module or cgi…use curl or wget.
* * * * * /usr/bin/curl -o http://www.yoursite.com/path/to/script.php
or
* * * * * /usr/bin/wget -q -O /dev/null http://www.yoursite.com/path/to/script.php
Just wanted to throw that out there since it seems some jobs on certain webhosts just don’t work with either previous option.


sumber :
http://htmlcenter.com/blog/running-php-script-with-cron
http://www.sitepoint.com/article/introducing-cron
Prakoso, Samuel.(2005). Jaringan Komputer : Konsep Dasar, Instalasi, Aplikasi, Keamanan dan Penarapan, Yogyakarta : Andi

25 juni 2008 16:50 WIB

No comments: