- 1. Cron Job Nedir ?
- 2. Cron Job Nasıl Çalışır ?
- 3. Cron Job Hangi Aralıklarda Çalışabilir ?
- 4. Cpanel'de Cron Job Nasıl Oluşturulur ?
- 5. Cpanel Cron Job Üzerinde Farklı PHP Sürümü Çalıştırma
- 5.1. Cron'u PHP 7.0 ile Çalıştırma
- 5.2. Cron'u PHP 7.1 ile Çalıştırma
- 5.3. Cron'u PHP 7.2 ile Çalıştırma
- 5.4. Cron'u PHP 7.3 ile Çalıştırma
- 5.5. Cron'u PHP 7.4 ile Çalıştırma
- 6. CRON Söz Dizimi Nasıl Yazılır?
Cpanel üzerinde çalıştırmanız gereken zamanlanmış bir php dosyası yada işi var ise bunun için cpanel Cron İşleri kısmını kullanarak zamanlanmış görevler gerçekleştirebiliyoruz.
Cron Job Nedir ?
Cron web dünyasında planlanan bir işi belli bir zamanda yapmak için kullanılır. Belirli görevleri belli bir zamanda tekrar eden şekilde yapılabilmesi için Cron Job kullanılır.
Cron Job Nasıl Çalışır ?
Eğer bir görevi ilerleyen zamanda bir kere çalıştırmak isterseniz bunun için cron job u kullanamayacağınızı başta belirtmeliyiz. Görevlerin tekrarlı şekilde çalışması ve bunu otomatize etmek isterseniz Con Job bu iş için biçilmiş kaftan. Örnek vermek gerekirse, bir programda her sabah yapılması gereken mail gönderimi işlemi var. Belirli raporları sistem çıkarttıktan sonra rapor edecek şekilde php dosyanızı hazırladığınız. Bu dosya açıldığında programınız işlemlerini yerine getiriyor. İşte bu dosyayı cron job a eklerseniz cron bu işlemi sizin için belirlediğiniz zamanlarda gerçekleştirecektir.
Cron Job Hangi Aralıklarda Çalışabilir ?
Cron belirli bir saatte, belirli bir günde, belirli bir ayda, belirli bir haftada çalışabilir. 10 dakikada bir, yada saatte bir, yada 12 saatte bir, yada her gün şu saatte şeklinde programlanabilmektedir.
Cpanel'de Cron Job Nasıl Oluşturulur ?
1) ilk başta cpanele girin. Cron İşler (Cron Job) bölümünü bularak giriş yapın.
2-) Dilerseniz Cron işlerinizin çıktılarını mail adresinizi girerseniz, mail yoluyla görebilirsiniz.
3-) Ortak ayarlar kısmından kolayca hangi zaman diliminde çalıştırmak istediğinizi seçip komutunuzu gönderebilirsiniz.
Cpanel Cron Job Üzerinde Farklı PHP Sürümü Çalıştırma
İşleme başlamadan önce söylemem gerekirse, ilgili örnekleri cloudlinux altyapısı için paylaşıyorum. Ömürtech'den aldığınız tüm hosting hizmetlerinde bu ayarları kullanabilirsiniz.
cronları oluştururken php sürümünü seçmeniz gerekebilmektedir. Bunun için php sürümünü aşağıdaki şekilde seçerek cronlarınızı oluşturabilirsiniz.
Cron oluştururken Komut Satırı Kısmında dosya yolunuzdan önce
Cron'u PHP 7.0 ile Çalıştırma
/opt/alt/php70/usr/bin/php -q /home/dizininiz/phpdosyaniz.php
Şeklinde yapabilirsiniz. Mail ile çıktı sonucu gelmesin isterseniz
/opt/alt/php70/usr/bin/php -q /home/dizininiz/phpdosyaniz.php > /dev/null 2>&1
Cron'u PHP 7.1 ile Çalıştırma
/opt/alt/php71/usr/bin/php -q /home/dizininiz/phpdosyaniz.php
Şeklinde yapabilirsiniz. Mail ile çıktı sonucu gelmesin isterseniz
/opt/alt/php71/usr/bin/php -q /home/dizininiz/phpdosyaniz.php > /dev/null 2>&1
Cron'u PHP 7.2 ile Çalıştırma
/opt/alt/php72/usr/bin/php -q /home/dizininiz/phpdosyaniz.php
Şeklinde yapabilirsiniz. Mail ile çıktı sonucu gelmesin isterseniz
/opt/alt/php72/usr/bin/php -q /home/dizininiz/phpdosyaniz.php > /dev/null 2>&1
Cron'u PHP 7.3 ile Çalıştırma
/opt/alt/php73/usr/bin/php -q /home/dizininiz/phpdosyaniz.php
Şeklinde yapabilirsiniz. Mail ile çıktı sonucu gelmesin isterseniz
/opt/alt/php73/usr/bin/php -q /home/dizininiz/phpdosyaniz.php > /dev/null 2>&1
Cron'u PHP 7.4 ile Çalıştırma
/opt/alt/php74/usr/bin/php -q /home/dizininiz/phpdosyaniz.php
Şeklinde yapabilirsiniz. Mail ile çıktı sonucu gelmesin isterseniz
/opt/alt/php74/usr/bin/php -q /home/dizininiz/phpdosyaniz.php > /dev/null 2>&1
CRON Söz Dizimi Nasıl Yazılır?
Cron söz dizilimi bizim karşımıza Linux Komut satırında gereklidir. Bunu da ileri seviye bir bilgi olarak sunmak istedik.
Linux sunucuda SSH ile Cron Job nasıl yapılır ?
Cron işlemleri sadece cpanel hosting hesaplarında değil SSH ile linux sunucularda da Cron Job yazılabilir.
Bunun için crontab -e komutu ile cron dosyasının içine girilir ve aşağıdaki formatta cron dosyası oluşturulabilir.
- Minute (Dakika) — komutun çalışacağı saatin dakikası 0-59 arası
- Hour (Saat) — komutun hangi saatte çalışacağı 0-23 arası
- Day of the month (Ay günü) — ayın hangi gününde komutun çalışacağı, 1-31 arası
- Month (Ay) — komutun hangi ayda çalışacağı, 1-12 arası
- Day of the week (Haftanın günü) — komutun haftanın hangi gününde çalışacağı, 0-7 arası
Unutmayın doğru karakterlerin kullanılması çok önemlidir. Aksi halde cronunuz çalışmayacaktır.
- Yıldız işareti (*) — bütün planlama parametlerini tanımlamak için.
- Virgül (,) — tek bir komutun iki ya da daha fazla kere çalıştırılmasını sürdürmek için.
- Tire (-) — tek bir komutun çalıştırılma sayısını ayarlarken zaman aralığını belirlemek için.
- Bölme işareti (/) — belirli bir aralıkta önceden belirlenmiş sıklığı oluşturmak için.
- Last (Son) (L) — belirli bir aydaki haftanın son gününü belirlemek içindir. Örneğin, 3L son Çarşamba anlamına gelir.
- Weekday (Hafta içi) (W) — belirlenen bir zamana en yakın hafta içi gününü belirlemek için. Örneğin, eğer 1W birincinin Cumartesi olduğu anlamına geliyorsa komut Pazartesi gününde çalışacaktır (3.)
- Hash (#) — 1-5 arasından bir rakamdan sonra gelir ve haftanın gününü belirler. Örneğin 1#2 ikinci Pazartesi anlamına gelir.
- Soru işareti (?) — boşluk bırakmak için.
Örnek Söz Dizimi
0 5 * * * /root/backup.sh >/dev/null 2>&1
Söz dizimi | Anlamı |
0 0 * * * /bin/sh backup.sh | Her gece yarısı veritabanı yedeği almak için |
0 6,18 * * * /bin/sh backup.sh | Günde iki defa 06:00 ve 18:00 saatlerinde veritabanı yedeği almak için |
0 */6 * * * /scripts/monitor.sh | Her altı saatte bir takip etmek için |
*/10 * * * * /home/user/script.sh | Her 10 dakikada bir ana dizindeki script dosyası için bir cron job uygulamak için |
0 * 20 7 * /bin/sh backup.sh | Her Temmuz 20 tarihinde saatlik yedek almak için |
0 0 * * 2 * /bin/sh | Her Salı günü gece yarısında veritabanı yedeği almak için |
* * * 1,2,5 * /script/script.sh | Ocak, Şubat ve Mayıs aylarında bir komut çalıştırmak için |
10-59/5 5 * * * /home/user/script.sh | Saat 05:00’de 05:10’dan başlamak üzere her 5 dakikada bir komut çalıştırmak için |
0 8 1 */3 * /home/user/script.sh | Üç ayda bir ilk günde saat 08:00’de bir komut çalıştırmak için |
* * * * * /scripts/script.sh; /scripts/scrit2.sh | Tek bir cron job’da birden çok görev çalıştırmak için planlama belirleme |
@reboot /scripts/script.sh | Sistemi her başlattığınızda belirli bir görev yapmak için |