İlginizi Çekebilir
  1. Ana Sayfa
  2. PHP

Cron Job Nedir?

Merhabalar, bu yazımda Cron Job Nedir? ona bakacağız. Bazen, siteniz için zamanlanmış bir görev oluşturma ihtiyacıyla karşılaşabilirsiniz. Örneğin belirli bir zamanda çalışması için bir arka plan programı gerekebilir.

Cron Job Nedir?
Cron Job Nedir?
+ - 0

Merhabalar, bu yazımda Cron Job Nedir? ona bakacağız. Bazen, siteniz için zamanlanmış bir görev oluşturma ihtiyacıyla karşılaşabilirsiniz. Örneğin belirli bir zamanda çalışması için bir arka plan programı gerekebilir.

Başlamadan önce Discord sunucuma katılmayı unutmayın. :D

 

Cron Job Nedir?

Crontab adlı komut satırı programı kullanılarak oluşturulan Cron işleri, web sitenizin Linux veya BSD’lerden biri gibi Unix tipi bir web sunucusunda barındırılmasını gerektirir. Web sunucusu Windows ise CRON JOB kullanamazsınız. Ayrıca telnet veya SSH kullanarak web sunucunuza bağlanabilmeniz gerekir. Alternatif olarak, web barındırıcınız, kontrol panellerini kullanarak crontab görevlerini ayarlamanız için bir yol sağlamalıdır.
Genellikle CPanel kullanan hostingerlerde CRON JOB oluştma uygulaması oluyor.

Cron Job Nedir

Croıb Job Parametreleri

CRON JOB oluşturma temel düzeyde job’lar için çok zor değildir ki bize zaten belirli bir zamanda çalışan job’lar gerekiyor. Kullanacağımız parametleler aşağıdaki tablodaki gibidir.

Cron Job parametreleri

  • Dakika: 0 ile 59 arası
  • Saat: 0 ile 23 arası
  • Gün: 1 ile 31 arası
  • Ay: 1 ile 12 arası
  • Günler: 0 ile 7 arası (0 ile 7 aynı günü temsil ediyor.)

Bir komutun sabah 05:30 da çalışmasını istiyorsanız yazacağını komut şöyle olmalıdır.

30 5

Bir komutun akşam 20:00 da çalışmasını istiyorsanız yazacağını komut şöyle olmalıdır.

0 20

5 Ocak saat 09:15 bir komut çalıştırmak istiyorsanız….

15 9 5 1

Eğer belirli zaman aralıklarında sürekli çalışan komut hazırlamak istiyorsanız o zaman joker karakter yani yıldız ( * ) kullanmak zorundasınız.

Belirli bir programın, örneğin her gün sabah 10.45’te çalışmasını istiyorsanız, cron programının zaman kısmı şöyle olmalıdır.

45 10 * * *

Bir işin saat başı çalışmasını istiyorsanız, crontab satırının zaman bileşenini şöyle ayarlamanız gerekir.

0 * * * *

Bir şeyin iki saatte bir çalışmasını istiyorsanız, alanınızdaki eğik çizgi “/” karakterini kullanmanız gerekecektir. Eğik çizgi karakteri “adım” karakteridir.

İki saatlik bir program olması durumunda, cron dosyanızın zaman bileşeniniz şöyle olmalıdır:

0 */2 * * *

3 saatte bir olmasını isterseniz /3 yapmalısınız.

Belirli bir komutun yalnızca her ayın 1’inde ve 20’sinde sabah saat 8.00’de çalışmasını istiyorsanız, saati şu şekilde kodlamanız gerekir:

0 8 1,20 * *

Virgül “,” “ve” anlamına gelir. Yukarıdaki satır kafanız karıştıysa, boşlukların virgül değil, alan ayırıcıları olduğunu unutmayın.

4 ve 5 Haziran (6) ve her Pazar (7) sabah saat 3:02’de programınızı çalıştırın:

2 3 4,5 6 7

Komut Çalıştırmak

Programın komut satırından yürütmeye bölümü, temel olarak, belirtilen zamanda çalıştırmak istediğiniz komuttur. Örneğin, her gün saat 11.30’da çalıştırmak istediğiniz “whatever.pl” adında bir Perl betiğiniz varsa, crontab programınız aşağıdaki gibi olabilir:

30 11 * * * /your/directory/whatever.pl

Komut dosyası, “cron.php” gibi bir web tarayıcısından çağrılması gerekiyorsa, “wget” adlı bir komut kullanmanız gerekecektir. wget gerçekten bir tarayıcı değildir ama web sunucusunun “cron.php” yi çalıştırır.

30 11 * * * /usr/bin/wget http://www.example.com/cron.php

Eğer çalıştırmak istediğiniz PHP betiğini bir klasör yolu üzerinden çağıracaksanız, komut dosyasını aşağıdaki gibi çağırmalısınız. URL için wget gerekirken, dosya yolından çağırmak için php klasörünün yolu gerekir.

30 11 * * * /usr/local/bin/php /your/directory/whatever.php

NOT: Buradaki yollar sizin sunucunuza göre değişiklik gösterebilir. Yukarıdaki ifadeler örnek teşkil etmesi açısından yazılmıştır. Bir Cron JOB hazırlamadan önce mutlaka hosting firmanız ile iletişime geçmelisiniz. Ne yaptığınızı bilmiyorsanız Onlardan yardım alın…

Eğer komutlarınızda çıkan hataları ve geri dönüşleri yakalamak istiyorsanız “ > ” karakterini kullanarak bir dosya yolu daha belirtmelisiniz.

30 11 * * * /usr/local/bin/php /your/directory/whatever.php >/your/directory/cronret.txt

NOT: Oluşturduğunuz komutlar kesinlikle tek satır olmalıdır. Aksi halde çalışmayacakladır.

 

Az önce söylemiştim ama tekrar etmekte fayda görüyorum.  Hosting firmanızdan yardım alarak bu işlemleri yapmanızı tavsiye ederim. Çünkü bu direk sizin sunucunuz ile ilgilidir.  Yani fazla ve gereksiz cron job ‘lar sitenizi hatta hosting’inize bağlı olan tüm siteleri etkiler. Benden söylemesi. :D


Cron Job Nedir? yazımda bu kadardı arkadaşlar. Diğer yazılarda görüşmek üzere….

PHP ve WORDPRESS konularındaki diğer yazılarım için bağlantıya tıklayabilirsiniz.  Discord sunucuma katılmayı unutmayın. :D

Yazı Kaynakları
thesitewizard
Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)