DLE Cron Kullanımı
DLE'de Cronjob ile Otomatik İşlemler
DLE'de bazı işlemleri belirlenen zaman aralıkları ile otomatik olarak yapmaya olanak sağlayan cron modülü bulunmaktadır.
Sitenizin ana dizinindeki cron.php dosyası kullanılarak yapılabilen işlemler şunlardır :
cron.php dosyasındaki yaptığım açıklamalar yardımıyla işlemleri yapabilirsiniz. Fakat buradan daha ayrıntılı açıklama yapacağım.
İlk olarak
$allow_cron = 0; Değerini 1 olarak değiştirmelisiniz.
1) İşlemi yapabilmeniz için gerekli desteğin olması gerekir Cron uygulamasının olup olmadığı ve nasıl çalıştırılacağı hakkında ki bilgiyi hosting sağlayıcınızdan edinebilirsiniz. Anlatım Cpanel ve Cronjob ile yapılacaktır
2) Güvenlik amacıyla bu dosyanın adını değiştirmenizi öneririz cron.php yi farklı bir isimle, PHP uzantısı ile değiştiriniz. Aksi halde sürekli olarak sitenizdeki bu dosyayı çalıştıranlar veritabanı yedeğini kaydetme imkanı bulacaklar. Bu yedeği göremeseler bile sürekli olarak çalıştırılması siteniz için zararlı olacaktır.
İşlemler için parametreler sitemap, optimize ve antivirus
Bu işlemleri aşağıdaki gibi adres satırına yazarak deneyebilirsiniz.
Böylece o işlemin verdiği uyarı ve hatayı görüp, otomatiğe bağlamadan önce giderebilirsiniz.
İkinci ve asıl üzerinde duracağımız konu cronjob'a eklemek. Aşağıdaki kod ile çalıştırma yapabilirsiniz. Fakat çalışıp çalışmadığını kontrol etmek için farklı yollar denemeniz gerekebilir.
Eğer bu kod çalışmazsa sunucudaki dizininizi öğrenin, örneğin kullanıcı adlı kullanıcı için deneyebileceğiniz bir kod. PHP dosyasının tam adresini girerek çalıştırabilirsiniz.
veya o dizine gidip çalıştırabilirsiniz
Çalıştırdıktan sonra ekranda gözüken kodları bir log dosyasına kaydetmek isterseniz.
ile başlayan kodlardan biri için aşağıdaki kodu :
Diğerleri için log dizini belirtilerek aşağıdaki gibi girilmelidir.
Eğer en başta denediğiniz bu kod çalışıyor ise :
Log dosyası cron.php ile aynı dizine kaydedilecektir.
Kontrol etme işlemi için ilk olarak her dakika çalışacak şekilde bir kural belirleyin ve kodu girin. Aldığınız log kayıtlarına göre gerekli periyot belirlemesini yapınız.
Tavsiye ettiğim kod biçimi için örnekler
Bu işlemleri yapınca artık log dosyanızda done yazısını görebilirsiniz. Tabi doğru olarak çalışıyorsa. Fakat bu done yazılarının hangi işleme ait olduğu anlamak için cron.php dosyanızda birtakım düzenelemeler yapmalısınız.
Örneğin :
olan kodu aşağıdaki gibi değiştirerek done yazısının veritabanı yedeklemeye ait olduğunu ve işlemin gerçekleştirilme tarihini görebilirsiniz.
DLE'de bazı işlemleri belirlenen zaman aralıkları ile otomatik olarak yapmaya olanak sağlayan cron modülü bulunmaktadır.
Sitenizin ana dizinindeki cron.php dosyası kullanılarak yapılabilen işlemler şunlardır :
- Sitemap oluşturma ve Pingleme
- Veritabanı yedeğini kaydetme
- Veritabanını optimize etme
- Antivirüs sistemi için dosya tarama ve değişiklikleri mail ile bildirme
cron.php dosyasındaki yaptığım açıklamalar yardımıyla işlemleri yapabilirsiniz. Fakat buradan daha ayrıntılı açıklama yapacağım.
İlk olarak
$allow_cron = 0; Değerini 1 olarak değiştirmelisiniz.
1) İşlemi yapabilmeniz için gerekli desteğin olması gerekir Cron uygulamasının olup olmadığı ve nasıl çalıştırılacağı hakkında ki bilgiyi hosting sağlayıcınızdan edinebilirsiniz. Anlatım Cpanel ve Cronjob ile yapılacaktır
2) Güvenlik amacıyla bu dosyanın adını değiştirmenizi öneririz cron.php yi farklı bir isimle, PHP uzantısı ile değiştiriniz. Aksi halde sürekli olarak sitenizdeki bu dosyayı çalıştıranlar veritabanı yedeğini kaydetme imkanı bulacaklar. Bu yedeği göremeseler bile sürekli olarak çalıştırılması siteniz için zararlı olacaktır.
İşlemler için parametreler sitemap, optimize ve antivirus
Bu işlemleri aşağıdaki gibi adres satırına yazarak deneyebilirsiniz.
http://siteniz.com/cron.php?cronmode=sitemap
Böylece o işlemin verdiği uyarı ve hatayı görüp, otomatiğe bağlamadan önce giderebilirsiniz.
İkinci ve asıl üzerinde duracağımız konu cronjob'a eklemek. Aşağıdaki kod ile çalıştırma yapabilirsiniz. Fakat çalışıp çalışmadığını kontrol etmek için farklı yollar denemeniz gerekebilir.
php -f cron.php sitemap
Eğer bu kod çalışmazsa sunucudaki dizininizi öğrenin, örneğin kullanıcı adlı kullanıcı için deneyebileceğiniz bir kod. PHP dosyasının tam adresini girerek çalıştırabilirsiniz.
php -f /home/kullanıcı/public_html/cron.php sitemap
veya o dizine gidip çalıştırabilirsiniz
cd /home/kullanıcı/public_html/; php -f cron.php sitemap
Çalıştırdıktan sonra ekranda gözüken kodları bir log dosyasına kaydetmek isterseniz.
cd /home/kullanıcı/public_html/;
ile başlayan kodlardan biri için aşağıdaki kodu :
cd /home/kullanıcı/public_html/; php -f cron.php sitemap >> cron.log
Diğerleri için log dizini belirtilerek aşağıdaki gibi girilmelidir.
php -f cron.php cronmode=sitemap >> /home/kullanıcı/public_html/cron.log
Eğer en başta denediğiniz bu kod çalışıyor ise :
php -f cron.php sitemap
Log dosyası cron.php ile aynı dizine kaydedilecektir.
php -f cron.php sitemap >> cron.log
Kontrol etme işlemi için ilk olarak her dakika çalışacak şekilde bir kural belirleyin ve kodu girin. Aldığınız log kayıtlarına göre gerekli periyot belirlemesini yapınız.
Tavsiye ettiğim kod biçimi için örnekler
cd /home/kullanıcı/public_html/; php -f cron.php sitemap >> cron.log
cd /home/kullanıcı/public_html/; php -f cron.php optimize >> cron.log
cd /home/kullanıcı/public_html/; php -f cron.php antivirus >> cron.log
cd /home/kullanıcı/public_html/; php -f cron.php >> cron.log
Bu işlemleri yapınca artık log dosyanızda done yazısını görebilirsiniz. Tabi doğru olarak çalışıyorsa. Fakat bu done yazılarının hangi işleme ait olduğu anlamak için cron.php dosyanızda birtakım düzenelemeler yapmalısınız.
Örneğin :
include_once ROOT_DIR.'/engine/inc/dumper.php';
die ("done" );
olan kodu aşağıdaki gibi değiştirerek done yazısının veritabanı yedeklemeye ait olduğunu ve işlemin gerçekleştirilme tarihini görebilirsiniz.
include_once ROOT_DIR.'/engine/inc/dumper.php';
die ("backup:done " . date( "d-m-Y H:i:s", $_TIME ) . "\n" );
Hazırlayan: Mehmet Hanoğlu
Bilgilendirme
Yorum Ekleyebilmeniz için Sitemize Kayıt Olmanız Gerekmektedir.
Cevap Yazılmayan Konular
- Oluşturulan Kategoriyi Yazara Özgü
- Makale Eklerken Html İçerik Eklemek?
- Rss.tpl İçin İlave Alan Kullanımı
- Yorum Sabitleme
- Facebook Ve Google İle Giriş Yapanlar
- Dle 13.1 İçin Ajax Navigasyonu
- Kayıt Sayfasında Facebookla Kayıt
- Sunucuya Dosya Ekleniyor Ancak
- Tema Orta Kısım Genişliği
- Meta Keywords Hakkında Soru
Çözülmeyi Bekleyenler
- Kurulum Aşaması
- Oluşturulan Kategoriyi Yazara Özgü
- Dle De Logo Kırık Görünüyor Ve Resim
- Merhaba Dle Uzmanı Lazım
- Makale Eklerken Html İçerik Eklemek?
- Rss.tpl İçin İlave Alan Kullanımı
- Yorum Sabitleme
- Facebook Ve Google İle Giriş Yapanlar
- {views} Tagını Kullanmak
- Sunucuya Dosya Ekleniyor Ancak
- İzledim / İzleyeceğim Modülü
- Ana Sayfada Kategorideki Makale Sayısı
- Satılık Teknoloji Haber Teması İsteği
- Siteye Eklenen Makaleyi Otomatik
- Mesajlar Bölümünde Mesaj Gönderenin