Catatan Seorang Prajurit Kecil

Ikon

biarlah semua itu berjalan sesuai "skenario" NYA – jika kau telusuri, semua logika itu akan kau temukan

Running PHP Script File Dengan Cron


Cron merupakan schedule task yang berjalandi operating system Linux. Cront tidak ubah seperti schedule task nya windows, dimana kita bisa memasukan beberapa task yang akan dilakukan secara berkala (hourly, daily, weekly, montly). Nah…. Pada artikel kali ini saya ingin share sedikit pengalaman saya ketika membuat sebuah SMS Gateway untuk kantor saya. SMS Gateway ini saya buat menggunakan bahasa pemrograman PHP + Gammu (module / library untuk menerima dan mengirim SMS, selain itu juga gammu adalah interface modem dengan SMS, untuk lebih jelas tentang gammu, cari aja di goole). Inti dari SMS Gateway yang saya buat adalah ada sebuah file php yang digunakan untuk melakukan service SMS (gateway), nah script ini harus dijalankan setiap saat (running selama server berjalan), nah untuk melakukan itu saya menggunakan Cron.

Oke kita mulai sekarang….

Lakukan penginstallan Cron pada linux teman-teman, caranya ketik perintah berikut pada Shell

# sudo yum install vixie-cron crontabs
# sudo /sbin/chkconfig crond on
# sudo /sbin/service crond start

Perintah yum hanya bisa dilakukan jika teman-teman terkoneksi ke internet, jika tidak terkoneksi lakukan penginstallan menggunakan rpm. Tunggu beberapa saat, hingga installation complete

Jika cron sudah terinstall lakukan pengujian dengan menjalan service cron dengan perintah seperti berikut

# /sbin/service crond status

Harus tampil seperti berikut

# crond (pid 2463) is running…

Untuk melakukan start dan stop crond lakukan perintah yang sama dengan perintah untuk check status, hanya saja “status” diubah menjadi “start” atau “stop”

Oke jika, crond sudah dipastikan jalan, maka kita tinggal menginputkan task kedalam database crond, caranya, ketikan perintah

# crontab –l

Kemudian akan tampil seluruh task yang akan dikerjakan oleh cron

untuk menambah task lakukan perintah

# crontab –e

Kita bisa menambahkan beberapa task didalamnya (akan ditampilkan sesuai dengan text editor linux teman-teman, biasanya adalah text editor vi)

Perintah cron mempunyai format seperti berikut

Minute – Hour – Day – Month – Day of week – Command

Contohnya seperti berikut

* * * * * lynx –dump http://mydomain.com

Dimana tanda (*) adalah mewakili minute, hour, day, month dan dayofweek. Secara standar cron bisa melakukan task schedule secara hourly, daily, monthly, dan weekly. Salah satu contohnya adalah seperti berikut : perintah untuk melakukan task satu jam sekali

30 * * * * command

Nah, perintah ini akan melakukan command sebanyak satu jam sekali di menit ke 30, nah bagaimana jika kita ingin melakukan perintah 1 hari sekali (daily), contohnya sebagai berikut

30 17 *** command

Nah, perintah ini akan melakukan command setiap hari pada jam 17:30. nah untuk contoh perintah yang lainnya, silahkan teman-teman cari di paman google (hitung-hitung explorasi) hehe…

Oke sampai disini kita sudah bisa membuat schedule task pada linux. Tahap selanjutnya adalah bagaimana kita menambahkan task untuk menjalankan website kita, nah untuk itu diperlukan mini browser yaitu lynx, jika pada linux teman-teman belum terinsall lynx maka installkan dulu dengan cara mengetikan perintah

# install yum lynx

Syaratnya adalah computer teman-teman harus terkoneksi ke internet, nah jika tidak terkoneksi, lakukan penginstallan dengan menggunakan paket rpm. Nah jika lynx sudah di installkan, coba lakukan perintah berikut

# lynx –dump http://mydomain.com

Nah jika perintah itu berhasil menampilkan website domain.com maka teman-teman sudah berhasil melakukan penginstallan lynx, proses selanjutnya adalah memasukan perintah tersebut kedalam database cron, lakukan perintah berikut

# crontab –e

*/15*** lynx –dump http://mydomain.com

Save perintah diatas dan script php kita siap dijalankan, oh ya perintah diatas bisa dibaca dengan cron akan menjalankan mydomain.com setiap 15 menit sekali.

Oh ya, perintah diatas hanya bisa dilakukan jika webserver php kita tercompile menggunakan php, nah jika php kita tercompile menggunakan CGI maka caranya adalah sebagai berikut, tambahkan script berikut pada php teman-teman

#!/usr/local/bin/php –q

Kemudian masukan perintah pada database cron dengan cara

# crontab –e

* * * * * php /path/to/your/cron.php

Maaf atas segala kekurangan, jika ada yang tidak jelas, bisa langsung tanyakan ke tco@tcommunity.com

Filed under: Pure PHP, , ,

One Response

  1. Adi mengatakan:

    hmm.. oke nih! ada gambaran utk coba bikin update otomatis database mysql pake cron. Thx bro!

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: