Cronjob ile parametreli bir linki nasıl çalıştırabilirim?

Parametreli bir linki belirli bir zaman aralığında otomatik olarak çalıştırmak için Cronjob nasıl kullanabilirim? Hangi komutları kullanmalıyım ve nasıl doğru bir şekilde parametre ekleyebilirim?

Cron job ile parametreli sayfa linki çalıştırma ihtiyacı duyabilirsiniz. Neden gerekli olacak diye düşüneceklere basit olarak açıklayayım: parametreler ile çalışıyor olabilirsiniz, güvenlik amaçlı kullanıyor olabilirsiniz. Yada istek yapılan kişinin yada sunucunun ip adresini alarak kontrol ettirmek için kullanabilirsiniz.

Cronjob için farklı parametrelerde mevcut. Ancak hiçbirisi curl kadar stabil olmuyor bence. Örneğin php parametresini kullandığınızda istek yapılan sunucu bilgisi almak zor oluyor. Yada Wget kullandığınızda sunucunuza doğal olarak dosya yüklüyor ki bunu çoğumuz istemez :slight_smile:

Ben parametreli bir link çalıştırmak istediğimde aşağıdaki şekilde yapıyorum: Curl

0 * * * * curl --silent --compressed http://www.sitemiz.com/cron.php?parametre=sorucevap

Yada (Curl)

0 * * * * /usr/bin/curl --silent --compressed http://www.sitemiz.com/cron.php?parametre=sorucevap

Ancak ben not olması açısından php parametresi ile parametreli bağlantı oluşturma kodunuda yazayım. Aşağıdaki şekilde Cron job eklerseniz sondaki parametre aktif şekilde kullanılabilir olacaktır: Php

0 * * * * php /home/kullanici_adi/public_html/cron.php parametre=sorucevap

Ancak bunun bir kötü tarafı var $_SERVER parametresini tam anlamıyla kullanamıyorsunuz, yani kontrol yaptırmak istiyorsanız bu kısım işinizi görmeyecektir, bunun yerine ilk verdiğim Curl örneği işinizi görecektir.

image

Konuda anlatılan kodlardaki yıldızlı kısımları silerek sonrasında kalan yerleri CPANEL kısmından CronJob eklerken kullanabilirsiniz, herhangi bir değişiklik yapmanıza gerek kalmaz.

Bu arada yaptığınız işlem sonucunda, çalıştırılan her cron Job dan sonra belirttiğiniz maile bilgi mesajı gönderilir, bunu iptal etmek isteyebilirsiniz. Bunun için yukardaki kodların her birinde aynı olacaktır son tarafa aşağıdakini ekleyin yeterlidir. (Boşluk bırakmayı unutmayın)

>/dev/null 2>&1

Örnek

0 * * * * curl --silent --compressed http://www.sitemiz.com/cron.php?parametre=sorucevap >/dev/null 2>&1