nodoubt Selamlar Arkadaşlar , Uğraşmakta oldugum projede her gece 00.00 'da çalışması gereken bir php sayfam var. Bunu cron.php olarak adlandırdım ve views/Backend altına kopyaladım (Admin yetkisi gerektirir) cron.php 'im deki kodlarım ile veritabanında bulunan bazı tablolarımda güncelleme yapıyorum. Siteye admin girişi yapıp cron.php 'yi çağırdıgımda sıkıntı olmuyor ve istediğim gibi veritabanımda güncellemeleri yapıyor.Normal bir user girişi yaptıgımda ana sayfaya yönlendiriyor burada sıkıntı yok. İleride dosyalarımı sunucuya attıgımda control panel'den gerekli cron ayarlarını yapıp saatide her gün 00.00 'da diye ayarladıktan sonra acaba sorunsuz çalışırmı ?
nodoubt Arkadaşlar bu konu hakkında fikir sahibi olanlardan yardım bekliyorum . Sunucuya atmadan bir sıkıntı varsa el atmamda fayda olur .Saygılar..
mgsmus Laravel kullandığınız için en iyisi bir artisan command oluşturup bunu cron ile çağırmanız olur. Böylece admin yetkisi vs uğraşmamış olursunuz. Üstelik cron.php dosyasına sadece admin ulaşabiliyorsa bunu cron ile nasıl tanımlayacaksınız?
cemdemir Merhaba @mgsmus'un dediği gibi bir artisan komutu oluşturup crontab'a bu komutu 00:00'da çalıştır demek mantıklı. 00 00 * * * /usr/bin/php /project_path/artisan commandName >> /root/outputcron
nodoubt Cevaplar için teşekkürler arkadaşlar . O halde öncelikle crontab olayını incelememde fayda var. sonucu paylaşırım ,teşekkürler.
nodoubt * php artisan command:make komutcron diyerek komutumu olusturdum. * app/start/artisan.php ye su satırı ekledim. Artisan::add(new komutcron()); * Ama bu kısımdan sonra tam olarak ne yapacagım konusunda takıldım.Sanırım aşagıdaki kısımda bbirşeyler yapacagım ama tam emin olamadım. yada argument kısmında cron yazıp fire kısmında onumu cagıracagım ? public function fire() { Return Redirect::to('cron'); // sayfama yönlendirmeye calısayım diye düşünüyorum.Zaten sayfaya yönlenme olursa otomatik veritabanı update lerim gerçekleşecek. } Ancak cron job olayında takıldım. su kodu nerede çalıştırmam gerektigi konusunda takıldım. 00 00 * * * /usr/bin/php /project_path/artisan komutcron
cemdemir Öncelikle şu yazıya bir göz atabilirsin: http://www.cemdemir.net/php/laravel-ve-artisan-ile-komut-satiri-commands-islemleri-2172.html Bahsettiğin satırı da crona eklemelisin. Terminalde crontab -e diyerek cronu aç ve satırı buraya yapıştır. 00 00 * * * /usr/bin/php /senin_projenin_full_pathi/artisan komutcron Kaydet ve çık.
nodoubt liebig/cron paketini yükledim burada ugrasıyorum su anda bakalım cozume ulasırsam paylasırım. localde crontab çalıştırabilirmiyim ?
nodoubt cemdemir yazdıÖncelikle şu yazıya bir göz atabilirsin: http://www.cemdemir.net/php/laravel-ve-artisan-ile-komut-satiri-commands-islemleri-2172.html Bahsettiğin satırı da crona eklemelisin. Terminalde crontab -e diyerek cronu aç ve satırı buraya yapıştır. 00 00 * * * /usr/bin/php /senin_projenin_full_pathi/artisan komutcron Kaydet ve çık. Cem bey bahsettiğiniz kodları başlat/cmd kısmında yapamıyorum hata veriyor. Sanırım cron işi localde yapılamıyor . Bu konuda biraz bilgi verebilirmisiniz
cemdemir Cron dediğimiz şey aslında Linux'a ait bir terim. Windows'ta çalıştığınızı tahmin etmemiştim. Ama Windows'ta da crona benzer birşey var adını bilmediğim.
nodoubt Cem bey cevap için teşekkürler . PRojeyi sunucuya attıktan sonra phpmyadmin üzerinden zamanlanmış görev tanımlayarak sorunu çözdüm sağolun.