Localhost CodeIgniter cron'u Koşu

3 Cevap php

Benim localhost her 5 dk çalıştırmak için bir cron işi almak için çalışıyorum. Cronnix app kullanarak aşağıdaki komutu girdi

0,5 * * * * root curl http://localhost:8888/site/  > /dev/null

Benim tarayıcıda http://localhost:8888/site/ ziyaret ettiğinizde komut iyi çalışır. Ben, Cron'un çalıştırmak için CI almak wget ve çeşitli diğer seçenekleri kullanarak ama hiçbiri anlamda bir çok yapmak hakkında bazı şeyler okudum.

Başka SO Mesaja ben aşağıdaki komutu bulundu

wget -O - -q -t 1 http://www.example.com/cron/run

Tam sözdizimi - "-O q-t 1" nedir?

Başka seçenekler var mı?

3 Cevap

-O - standart çıktıya gider araçlar (-O / dev / null) herhangi bir çıktı geçersiz olacaktır. -q (herhangi bir ilerleme çubukları dışarı baskı yok) sessiz olmak demektir, bu herhangi bir log dosyalarının görünümünü berbat olur. -t 1 sadece bir kez denemek anlamına gelir. Bağlantı zaman aşımına başarısız olursa ya tekrar deneyin olmaz.

Wget komutuyla tam bir kılavuzu http://linux.die.net/man/1/wget bakın.

Edit: sadece zaten / dev / null Tüm bu boru konum fark, siz de ya-O parametresini atlarsanız veya / dev / null olduğunu işaret ve nihai boru ihmal edebilir.

Ne zaman yapmak cli modunda PHP kullanmaktır. Bana daha verimli görünüyor.

İlk kurulum cron girdisi gibi:

*/5 * * * * /usr/bin/php /var/www/html/cronnedscript.php

cronnedscript.php kök www klasörüne konulmalıdır.

daha sonra cronnedscript.php düzenleyin:

<?php
$_GET["/mycontroller/index"] = null;
require "index.php";
?>

mycrontroller Eğer ateş etmek istediğiniz CI denetleyicisi olduğu.

Eğer kontrolör sadece Crond tarafından çalıştırmak istiyorsanız, kamu www istekleri ile karşıt olarak, kontrolör ve cronnedscript.php için aşağıdaki satırı ekleyin:

if (isset($_SERVER['REMOTE_ADDR'])) die('Permission denied');

Ancak onlar her parametre wget çağrı ne olduğunu açıklayan çok güzel bir iş yapmak, bu Drupal için bir referans olduğunu biliyoruz.

Drupal Cron Explanation

Eğer daha genel bir açıklama istiyorsanız, here bulabilirsiniz.