PHP Scriptini Cron ile Normal Kullanıcı Olarak Çalıştırma


Cron, Linux dahil Unix benzeri işletim sistemlerinde işlerin zamana dayalı olarak planlanması için güçlü bir yardımcı programdır. Bir arka plan programı olarak çalışır ve belirli zamanlarda, tarihlerde veya aralıklarla arka planda periyodik ve otomatik olarak çalışan yedeklemeler gerçekleştirmek, güncellemeleri planlamak ve çok daha fazlasını gerçekleştirmek için komutlar veya kabuk komut dosyaları gibi işleri planlamak için kullanılabilir.

Cron'un sınırlamalarından biri, sistemin sonsuza kadar çalışacağını varsaymasıdır; dolayısıyla masaüstü makineler dışındaki sunucular için uygundur. Ek olarak, 'at' veya 'batch' komutlarını kullanarak bir görevi belirli bir zamanda veya daha sonraki bir zamanda planlayabilirsiniz: ancak görev yalnızca bir kez çalıştırılır (tekrarlanmaz).

Önerilen Okuma: Linux'ta Anacron Kullanarak İşler Nasıl Planlanır

Bu yazıda, normal bir sistem kullanıcısının Linux'ta bir cron iş zamanlayıcı aracılığıyla bir PHP betiğini çalıştırmasına veya yürütmesine nasıl izin verileceğini açıklayacağız.

Crontab (CRON TABLE) programını kullanarak işleri planlayabilirsiniz. Her kullanıcı, bir işi tanımlamak için altı alandan oluşan kendi crontab dosyasına sahip olabilir:

  • Dakika – 0-59 arasındaki değerleri kabul eder.
  • Saat – 0-23 arasındaki değerleri kabul eder.
  • Ayın Günü – 1-31 arasındaki değerleri saklar.
  • Yılın ayı – 1-12 veya Ocak-Aralık arasındaki değerleri saklar; her ayın adının ilk üç harfini, yani Ocak veya Haziran'ı kullanabilirsiniz.
  • Haftanın günü – 0-6 veya Paz-Cumartesi arasındaki değerleri tutar. Burada ayrıca her günün adının ilk üç harfini (Paz veya Çar) kullanabilirsiniz.
  • Komut – yürütülecek komut.

Kendi crontab dosyanızda girişler oluşturmak veya düzenlemek için şunu yazın:

crontab -e

Ve tüm crontab girişlerinizi görüntülemek için şu komutu yazın (bu komut yalnızca crontab dosyasını std çıktısına yazdıracaktır):

crontab -l

Bununla birlikte, eğer bir sistem yöneticisiyseniz ve bir PHP betiğini başka bir kullanıcı olarak çalıştırmak istiyorsanız, onu /etc/crontab dosyasında veya kök kullanıcının crontab dosyasında, belirtmek için fazladan bir dosyayı destekleyen crontab dosyasında planlamanız gerekir. Kullanıcı adı:

sudo vi /etc/crontab

Ve PHP betiğinizin bu şekilde yürütülmesini planlayın, zamanlama bölümünden sonra kullanıcı adını belirtin.

0 0 * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

Yukarıdaki giriş, /var/www/test_site/cronjobs/backup.php komut dosyasını her gün gece yarısı kullanıcı tecmint olarak çalıştırır.

Yukarıdaki betiğin her on dakikada bir otomatik olarak çalıştırılmasını istiyorsanız, aşağıdaki girişi crontab dosyasına ekleyin.

*/10 * * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

Yukarıdaki örnekte */10 * * * * işin ne zaman gerçekleşmesi gerektiğini temsil eder. İlk şekil dakikaları gösterir; bu senaryoda, her "on" dakikada bir. Diğer rakamlar sırasıyla saat, gün, ay ve haftanın gününü gösterir.

Aşağıdaki ilgili makaleleri de okumak isteyebilirsiniz.

  1. Linux Sistem Bakım Görevlerini Otomatikleştirmek için Shell Komut Dosyasını Kullanma
  2. Her Linux Kullanıcısının Bilmesi Gereken 12 Faydalı PHP Komut Satırı Kullanımı
  3. Linux Terminalinde PHP Kodları Nasıl Çalıştırılır
  4. Sistem Yöneticileri İçin 30 Faydalı Linux Komutu

Bu kadar! Bu makaleyi faydalı bulacağınızı umuyoruz. Bu konuyla ilgili herhangi bir sorunuz veya paylaşacağınız ekstra fikirleriniz varsa aşağıdaki yorum formunu kullanın.