Sistem: Cron dan cache Modul sistem menyediakan standar bagi keseluruhan sistem untuk menjalankan tugas cron pada waktu tertentu, menyimpan (cache) halaman untuk meningkatkan efisiensi, dan menjalankan tugas dasar lainnya. Modul ini juga menjaga sejumlah preferensi atau konfigurasi yang anda buat sehingga sistem berjalan seperti yang anda inginkan. Beberapa modul Drupal memerlukan perintah yang terjadwal secara rutin. Modul statistik secara rutin membersihkan file log. Modul agregator secara rutin meng-update pasokan. Ping secara rutin mengirim notifikasi atas update di situs anda. Modul pencarian secara rutin mengindeks isi situs anda. Semua ini bergantung pada cron. Cron bukan merupakan bagian sistem Drupal, ini adalah sistem penjadwalan pengerjaan tugas yang berada di server dan mengirim perintah untuk menjalankan tugas (disebut "tugas cron") pada waktu yang anda tentukan. Tugas tersebut bisa dijadwalkan untuk dijalankan secara harian, mingguan, tiap jam atau interval lain yang anda inginkan. Yang perlu anda lakukan adalah menjadwalkan "tugas cron" dengan browser yang ada dalam server untuk secara rutin mengunjungi halaman "cron" situs anda. Misalnya, jika situs anda adalah www.situsanda.com maka halaman cron anda adalah http://www.situsanda.com/cron.php (halaman ini otomatis dibuat saat anda menginstal Drupal). Kunjungan rutin ke halaman cron ini akan menjaga situs anda tetap berjalan dengan baik. Pada situs pribadi yang biasa saja, yang tidak berisi banyak konten atau pengisian konten relatif sedikit, mungkin anda cukup menyiapkan cron untuk dijalankan sekali dalam sehari. Tetapi pada situs yang aktif, mungkin anda perlu membuatnya lebih sering, beberapa jam sekali atau bahkan tiap jam. Pada Linux atau Unix anda bisa menjalankan tugas cron ini dengan perintah yang disebut "crontab". Penyiapan tugas ini biasanya dipermudah dengan program pembantu yang disediakan hosting anda seperti cPanel atau yang lainnya. Untuk panduan lebih jauh tentang cron ini, silakan kunjungi halaman konfigurasi tugas cron (atau jika situs anda menggunakan sistem operasi Windows, konfigurasi tugas cron pada Windows). Hosting anda juga mungkin bisa membantu anda dalam hal ini. Mekanisme caching modul sistem menyimpan halaman yang dibuat secara dinamis dalam sebuah cache (tembolok, atau bisa juga disebut gudang sementara), untuk kemudian digunakan kembali jika anda yang menginginkan. Halaman dalam situs anda ini dibuat dari sekumpulan elemen yang digabungkan bersama dari berbaga bagian dalam database secara langsung (on the fly) saat ada yang mengakses, bukan merupakan teks atau gambar yang statis dan tidak berubah. Halaman inilah yang disebut "dibuat secara dinamis". Dengan membuat cache pada halaman tersebut, modul sistem membuat halaman yang sudah dibuat tadi selalu siap untuk ditampilkan kembali, tidak lagi membangun ulang semua elemen yang dibutuhkan saat ada yang mengaksesnya. Dengan begini, menampilkan halaman hanya memerlukan satu kueri database, tidak seperti membangun ulang halaman yang memerlukan banyak kueri. Kueri database ini membutuhkan waktu dan tenaga sistem, sehingga mekanisme cache meringankan beban ini, dan situs anda bisa merespon permintaan lebih cepat. Hanya halaman yang diakses oleh pengunjung anonim yang bisa di-cache. Untuk mengurangi beban server dan menghemat bandwidth, modul sistem menyimpan dan mengirim cache dalam format yang dipadatkan (terkompres). Anda bisa: menjalankan tugas cron secara manual lewat halaman cron situs anda. membaca lebih lanjut tentang konfigurasi tugas cron. mengatur konfigurasi cache lewat kelola -> konfigurasi situs -> kinerja. Sumber: http://drupal.org/handbook/modules/system Rata-rata: Lumayan Penilaian anda: Tidak ada Rata-rata: 2 (1 suara) Nilai Konfigurasi tugas cron Beberapa modul membutuhkan perintah yang dijalankan secara rutin, misalnya membersihkan file log. Dengan cron, perintah ini bisa secara otomatis dijadwalkan. Cron (singkatan dari "cronograph") adalah perintah penjadwalan yang dimiliki server (sistem operasi) dan menjalankan perintah pada waktu tertentu yang disebutkan dalam satuan detik. Anda bisa menggunakannya untuk mengatur perintah dijadwalkan berkala secara harian, mingguan, bulanan, atau interval berapapun yang bisa diukur dalam satuan detik. Perintah ini disebut "tugas cron" atau "cron jobs". Page 2 Sistem: Cron dan cache 5/16/2009 4:31:13 PM http://drupal.web.id/book/export/html/42 Yang perlu anda lakukan adalah menjadwalkan cron untuk memberi tahu browser web dalam server, seperti lynx atau wget, untuk secara rutin membuka "halaman cron" situs anda. Misalnya jika situs anda adalah www.namadomainanda.com maka halaman cron situs anda adalah www.namadomainanda.com/cron.php, halaman ini dibuat otomatis saat anda menginstal Drupal. Kunjungan rutin ini kemudian akan secara otomatis juga memberi tahu Drupal untuk menjalankan tugas periodik yang ada, sehingga ini akan membantu menjaga situs anda tetap berjalan sebagai mana mestinya. Bagi kebanyakan situs pribadi, dimana anda hanya beberapa kali mengirim artikel dalam satu hari, mungkin anda hanya perlu mengatur cron untuk dijalankan satu kali saja dalam sehari. Untuk situs yang lebih aktif, mungkin anda perlu mengatur intervalnya lebih singkat, beberapa jam atau bahkan satu jam sekali. Pada server dengan sistem operasi Linux atau UNIX, penjadwalan ini dilakukan dengan menyiapkan program yang disebut "crontab". Penyiapan tugas ini biasanya dipermudah dengan program pembantu yang disediakan hosting anda seperti cPanel, Plesk, DirectAdmin atau yang lainnya, atau jika server anda tidak menggunakan program seperti ini anda bisa membaca dokumentasi tentang crontab. Crontab anda mungkin akan terlihat seperti berikut: 45 * * * * /usr/bin/lynx -source http://www.namadomainanda.com/cron.php atau 45 * * * * /usr/bin/wget -O - -q http://www.namadomainanda.com/cron.php Perintah di atas akan memberi tahu browser (lynx atau wget) untuk mengunjungi halaman cron anda tiap menit ke 45 tiap jamnya. (Di menit awal situs anda mungkin akan sibuk menerima kunjungan dari situs yang mengagregasi konten anda lewat RSS, sehingga menjadwalkan cron untuk dijalankan lebih awal bisa membantu menghindari trafik tersebut.) Untuk menyiapkan cron pada Windows silakan baca konfigurasi cron pada windows. Jika hosting anda tidak mendukung penggunaan cron: Tanyakan hosting apakah fitur cron bisa digunakan, kadang anda hanya perlu bertanya. Minta tolong pada orang lain yang mempunyai akses cron membuatkan cron untuk anda. Lagi pula, hampir semua sistem Linux/Unix yang terhubung ke internet bisa membuat entri crontab untuk secara rutin mengunjungi http://www.namadomainanda.com/cron.php. Anda bisa menggunakan layanan cron berbayar (misalnya webcron.org) untuk menyiapkan cron lewat antarmuka web. Jika anda tidak bisa menjalankan cron sendiri atau meminta pihak lain menjalankannya, mungkin anda bisa menggunakan modul poormanscron. Cron tidak menjamin perintah anda dijalankan tepat pada interval yang ditentukan. tetapi Drupal akan berusaha menjalankannya setepat mungkin. Semakin sering anda mengunjungi cron.php, semakin akurat cron dijalankan. Beberapa petunjuk lebih teknis. Lihat script contoh dalam direktori scripts. Sesuaikan (edit) script tersebut dengan kebutuhan anda. Misalnya, file cron-lynx.sh berisi baris: /usr/bin/lynx -source http://www.namadomainanda.com/cron.php > /dev/null 2>&1 Ketik (perintah ini bisa digunakan jika anda memiliki akses SSH pada situs anda): whereis lynx untuk memastikan program lynx berada di /usr/bin/lynx, jika bukan pada lokasi tersebut sesuaikan dengan lokasi sebenarnya. Ganti juga http:// www.namadomainanda.com/cron.php dengan lokasi dimana anda menginstal Drupal (misalnya http://www.namadomainanda.com/drupal/ cron.php). Contoh baris crontab yang baik untuk menjalankan script ini tiap jam adalah: 00 * * * * /home/www/drupal/scripts/cron-lynx.sh Penting diingat bahwa cron mesti dipanggil lewat browser dengan nama domain situs anda, jangan menjalankan cron dengan PHP lewat baris perintah (command line) secara langsung dan hindari menggunakan localhost atau 127.0.0.1 supaya beberapa variabel dipanggil dengan benar dan fitur bisa bekerja dengan baik (misalnya modul Drupal). Jika hosting anda tidak mengijinkan penggunaan browser seperti lynx atau wget, dalam direktori scripts juga terdapat script bernama cron- curl.sh yang menggunakan program curl. Juga dimungkinkan untuk menggunakan script PHP sederhana untuk mensimulasi browser mengakses halaman cron.php situs anda (dengan curl, fopen atau yang sejenis), kemudian membuat konfigurasi cron dengan memanggil script tersebut. Atau mungkin juga memanggil cron.php secara langsung dari cron seperti contoh berikut: Page 3 Sistem: Cron dan cache 5/16/2009 4:31:13 PM http://drupal.web.id/book/export/html/42 /usr/bin/lynx -source http://www.namadomainanda.com/cron.php > /dev/null 2>&1 atau curl --silent --compressed http://www.namadomainanda.com/cron.php > /dev/null 2>&1 Pada contoh di atas, bagian > /dev/null 2>&1 akan mengirim semua output termasuk pesan kesalahan (jika ada) ke /dev/null sehingga pembuat tugas cron tidak akan dikirimi email jika ada pesan kesalahan atau semua keluaran (output) dari tugas tersebut. Sumber: http://drupal.org/cron Rata-rata: Lumayan Penilaian anda: Tidak ada Rata-rata: 2 (1 suara) Nilai Menjalankan cron secara manual Untuk menjalankan tugas cron secara manual, buka saja halaman http://www.domainanda.com/cron.php lewat browser, dan cron akan dijalankan dan diselesaikan di belakang layar. Anda akan melihat halaman yang kosong atau putih saja, ini normal. Gunakan tombol kembali (Back) pada browser anda untuk kembali ke halaman yang sebelumnya dibuka, dan melanjutkan apa yang ingin anda lakukan. Tidak pengaruh sudah berapa lama anda membuka halaman cron yang putih kosong tadi, kembali ke halaman sebelumnya tidak akan menghentikan jalannya cron yang sedang dilakukan. Modul inti juga menyediakan cara untuk menjalankan tugas cron secara manual. Lihat pada link di halaman Status: http://www.domainanda.com/ admin/logs/status/run-cron?destination=admin%2Flogs%2Fstatus, anda bisa menyalin halaman ini pada baris alamat (Address Bar) browser anda kapanpun anda inginkan. Sebagai tambahan, modul Status update juga menyediakan link untuk menjalankan tugas cron secara manual di halaman http:// www.domainanda.com/admin/logs/updates. Sumber: http://drupal.org/node/158922 Rata-rata: Bagus Penilaian anda: Tidak ada Rata-rata: 3 (1 suara) Nilai Menjalankan cron terjadwal dengan Uptime monitoring Menjalankan cron secara terjadwal bisa dilakukan dengan layanan pihak ketiga seperti layanan monitoring situs atau server. Layanan ini secara terjadwal akan mengunjungi situs yang diinginkan anggotanya untuk mengetahui apakah situs tersebut aktif (UP) atau tidak (DOWN). Umumnya layanan ini mendukung pemeriksaan ke halaman tertentu dalam situs, fitur inilah yang bisa digunakan untuk menjalankan tugas cron, dan dengan sifatnya secara rutin memeriksa halaman situs anda, maka layanan ini bisa digunakan untuk menjalankan cron secara terjadwal. Pengaturan cron ini bisa digunakan jika anda tidak memiliki akses pada cronjob di hosting anda, atau jika hosting anda membatasi penggunaan cronjob, atau jika anda tidak ingin menggunakannya. Didapat dua keuntungan sekaligus dengan menjalankan cron lewat layanan ini, selain menjalankan cron juga memastikan situs anda aktif. Contoh pada artikel ini menggunakan layanan yang disediakan oleh uptime.web.id. Layanan ini tersedia gratis yang bisa memantau situs anda dengan interval tiap satu jam (60 menit), sehingga lebih cocok digunakan pada situs yang cukup aktif. Panduan ini juga mungkin bisa digunakan pada provider lain yang memberikan layanan serupa. Panduan menyiapkan cron lewat Uptime.web.id 1. Jika belum mempunyai akun, anda bisa mendaftar layanan ini di http://uptime.web.id/id/signup.php. Untuk monitoring dengan interval 60 menit layanan ini tersedia gratis tanpa batasan waktu. 2. Jika anda sudah mempunyai akun, anda bisa login ke panel kontrol. Atau jika anda baru saja mendaftar anda akan langsung login dalam sistem Uptime.web.id. Page 4 Sistem: Cron dan cache 5/16/2009 4:31:13 PM http://drupal.web.id/book/export/html/42 3. Masuk ke halaman Monitoring -> Tambahkan test atau http://uptime.web.id/id/addtest.php. 4. Pilih Monitor Website dan klik Selanjutnya. 5. Di halaman selanjutnya anda akan diberikan form untuk mengisi detil situs yang ingin dimonitor. 6. Isi form tersebut dengan informasi yang dibutuhkan: Nama: nama yang anda inginkan untuk test ini, bisa diisi dengan nama situs anda. URL: URL halaman cron situs anda, misalnya http://situsanda.com/cron.php. Interval monitoring: Pilih "60 mnt". Catatan: Bagian ini tidak diwajibkan, tetapi bisa anda isi dengan informasi penjelas. 7. Setelah form diisi, klik Selanjutnya. 8. Cron sudah siap dan dijadwalkan untuk dijalankan setiap 60 menit (1 jam). Di halaman monitoring anda di panel kontrol Uptime.web.id akan terlihat situs yang dimonitoring dengan interval dan informasi lainnya. Jika anda melihat statusnya "TIDAKDIKENAL" anda tidak perlu khawatir, itu karena Uptime.web.id belum membuka halaman cron anda. Status ini akan Page 5 Sistem: Cron dan cache 5/16/2009 4:31:13 PM http://drupal.web.id/book/export/html/42 berubah setelah Uptime.web.id mengunjunginya. Rata-rata: Pilih nilai Penilaian anda: Tidak ada Nilai Konfigurasi tugas cron pada Windows Untuk menyiapkan server Windows menjalankan cron pada waktu tertentu ikuti petunjuk di halaman ini. Ini berguna jika anda tidak terlalu mengenal sistem operasi Linux/Unix, atau hosting anda menggunakan sistem operasi Windows, atau hosting anda tidak menyediakan fitur cron, anda bisa menjalankannya secara remote dari komputer anda. Catatan: Panduan ini dibuat untuk WindowsXP tetapi mungkin juga bisa digunakan pada versi Windows lainnya. Membuat Scheduled Task 1. Buka "Scheduler". 2. Masuk ke Start Programs Accessories System Tools Scheduled Task. 3. Klik dua kali pada Add Scheduled Task. 4. Akan muncul Scheduled Task Wizzard. Klik Next. 5. Pilih program yang ingin dijalankan. Pilih browser dari daftar (misalnya Internet Explorer atau Mozilla Firefox), lalu klik Next. 6. Berikan nama (Name) pada tugas tersebut, misalnya Drupal Cron Job, dan pilih interval (Frequency) tugas tersebut harus dijalankan (misalnya harian, Daily). Klik Next. 7. Pilih opsi tanggal dan jam (date and time options) tertentu (tahapan ini mungkin berbeda, tergantung pada opsi yang ditentukan di tahap sebelumnya). Setelah selesai, klik Next. 8. Masukkan sandi (passwword) saat ditanyakan. Masukkan nama (username) jika dibutuhkan, misalnya jika anda ingin menjalankan perintah tersebut dengan user yang memiliki hak akses (privileges) lebih sedikit demi keamanan. Klik Next. 9. Di halaman terakhir, beri centang pada Open advanced properties for this task when I click Finish untuk mengatur konfigurasinya, dan klik Finish. Konfigurasi Scheduled Task 1. Masuk ke halaman pengaturan konfigurasi tugas terjadwal tersebut, bisa dengan memberi centang di tahap akhir seperti dijelaskan pada poin di atas, atau dengan klik dua kali pada nama tugasnya dalam daftar. 2. Pada kotak Run, setelah teks yang ada (misalnya C:\PROGRA~1\MOZILL~1\firefox.exe), ketik spasi dan masukkan alamat halaman cron situs anda dengan tanda kutip dua (misalnya C:\PROGRA~1\MOZILL~1\firefox.exe http://www.situsanda.com/cron.php). 3. Untuk mengatur frekuensinya lebh dari satu kali sehari (misalnya tiap jam), klik tab Schedule, lalu klik Advanced. Di sini anda bisa mengatur opsi pengulangan (Repeat) atau frekuensi tersebut, tiap 1 jam (1 hour) selama 23 jam (23 hours). Klik OK jika sudah selesai. 4. Ganti waktu dimulai (Start time) pada tugas menjadi satu menit setelah anda memasukkan nilai tersebut (one minute from the current time). Ini akan melakukan pengujian tugas untuk memastikannya bekerja dengan benar. 5. Jika semuanya sudah diatur sesuai keinginan anda, klik Apply dan OK (catatan: anda mungkin akan ditanyakan sandi). Versi dengan baris perintah command prompt Cara lain untuk menjalankan perintah di atas adalah dengan menggunakan aplikasi/perintah schtasks (atau at pada Windows2000) dari baris perintah. Untuk menduplikas contoh di atas, yang menjalankan Firefox tiap jam untuk mengunjungi http://www.situsanda.com/cron.php, buka command-prompt (Start Programs Accessories Command Prompt atau Start Run) dan ketik: schtasks /create /tn "Drupal Cron Job" /tr "C:\PROGRA~1\MOZILL~1\firefox.exe http://www.situsanda.com/cron.php" /sc hourly Masukkan sandi anda jika ditanyakan. Sumber: http://drupal.org/node/31506 Rata-rata: Pilih nilai Penilaian anda: Tidak ada Nilai