Bir php dosyası crontab ile nasıl yürütülür?


2

Lamba ile ubuntu kurulumum var ve her gün saat 2'de bir php sayfasını başlatmak için ne yazacağımı merak ediyordum. Hala crontab'ın nasıl çalıştığını inceliyorum, hangisinin işe yaradığını görmek için test edemiyorum.

Öyleyse böyle bir şeye sahipsem, php sayfasına parametreleri ile nasıl eklerim?

30 18 * * * http://myip/mypage.php?action=do_something

Öyle mi girer yoksa mutlak yolla mı? Bunun gibi

30 18 * * * /var/www/mypage.php?action=do_something

Yanıtlar:


1

Kesinlikle birinci yöntemi kullanmak istiyorsun. Yani

30 18 * * * wget -O - -q -t http://myip/mypage.php?action=do_something

Bu, dosyayı normal web yolundan wget (dosya indirme programı) ile alınacaktır. Bu, apache, isteği işlediğinde, php'nin bu betiği yorumlamasına neden olacağı ve betiği çalıştıracağınız anlamına gelir.

Bu yöntemi, php-cli uygulamasını çağırarak ve betiğinize bir argüman olarak geçirerek, ancak çoğu zaman herhangi bir fark yaratmayacak şekilde kullanarak, yöntem 2'yi kullanarak çalıştırmak da mümkün.


0

Cron'unuza yerleştirdiğiniz komut php dosyasının gerçekte nasıl yazıldığına bağlıdır. Dosya bir web sunucusu altında bir betik ise, daha sonra belirtildiği gibi wget iyi çalışacaktır. -O'nun üstündeki komut ile dikkat edin, çıktı dosyaya yazılacak, -q sessiz, -t yeniden deneme sayısını sınırlamak içindir.

Ancak, php betiği bir kabuk betiği ise, wget yararsızdır. Bu durumda, dosya çalıştırılabilir olmalıdır ve cron komutunuz şöyle görünecektir:

30 18 * * * /usr/bin/env php /path/to/script
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.