Linux – Debian Cron (Zamanlanmış Görev) Örnekleri

Crontab, bizim belirttiğimiz zamanlarda, yine bizim belirttiğimiz komutları çalıştırmak için kullanılan görevler bütünüdür. Hemen yazımın devamında sizlerle örnek zamanlanmış görev kodları paylaşıyor olacağım.

İlk olarak cronjob ayarlarına bir giriş yapalım ve alanları tanıyalım. Cronjob satırımız 5 adet zaman ayarı bölümü ve komut bölümünden oluşur. Örnek olarak:

1. *: Dakika (0 – 59)
2. *: Saat (0-23)
3. *: Ayın kaçıncı günü (1-31)
4. *: Ay (1-12)
5. *: Haftanın kaçıncı günü (0:7: Pazar, 1: Pazartesi, 2: Salı, 3: Çarşamba, 4: Perşembe, 5: Cuma, 6: Cumartesi)
Çalışmasını istediğimiz komut: Çalıştırılacak komut

Açıklamalarımızı bu şekilde vermiş olduk. Şimdi dilerseniz soru-cevap şeklinde bir işleyişe geçelim. Örnekler üzerinden devam edelim.

Her 5 dakikada bir çalışacak bir Cron Job yazımı

Cron komut satırımızı yukarıdaki gibi oluşturduğumuzda bu şu anlama gelir: Her 5dk da bir, cronTest.php dosyasını çalıştır. Eğer 5 dakikada değil de 30 dk da bir çalışmasını istiyorsak */5 yerine */30 yazmalıyız.

Her 2 saate bir çalışacak bir Cron Job yazımı

Cron komut satırımızı yukarıdaki gibi oluşturduğumuzda bu şu anlama gelir: Her 2 saatte bir, cronTest.php dosyasını çalıştır. Eğer 2 saat değil de 6 saatte bir çalışmasını istiyorsak */2 yerine */6 yazmalıyız.

Her 3 günde bir çalışacak bir Cron Job yazımı

Cron komut satırımızı yukarıdaki gibi oluşturduğumuzda bu şu anlama gelir: Her 3 günde bir, cronTest.php dosyasını çalıştır. Eğer 3 gün değil de 7 günde bir çalışmasını istiyorsak */3 yerine */7 yazmalıyız.

Her 2 ayda bir çalışacak bir Cron Job yazımı

Cron komut satırımızı yukarıdaki gibi oluşturduğumuzda bu şu anlama gelir: Her 2 ayda bir, cronTest.php dosyasını çalıştır. Eğer 2 ay değil de ayda bir çalışmasını istiyorsak */2 yerine */1 yazmalıyız.

Bonus: Sadece belirli saat aralıklarında çalışacak Cron Job yazımı

Yukarıdaki örnekte ise saat 6 ile 9 arasında her 2 saatte çalışacak bir komut tanımlıyoruz.

Sayfada Sadece Belirli Bir Bölümü Yazdırmak – jQuery Print Eklentisi

jQuery Print, ziyaretçinin web sayfanızın yalnızca belirli bir alanını yazdırmasına izin veren basit bir jQuery eklentisidir.

Özellikle navigasyon yönergeleri bulunan projelerde, yazdırılacak sayfanın yalın olabilmesi artık her zaman mümkün olamayabiliyor. Böyle durumlarda sayfanın sadece belirli bir bölümünün yazdırılması seçeneği önümüze çıkıyor. Bunun için kullandığım bir kütüphaneyi sizlerle paylaşmak istiyorum.

Nasıl kullanılır? (Örnek)

1. HTML öğenizin yazdırılabilir olmasını istediğiniz alana benzersiz bir ID belirtelim.

2. Belirtilen alanımızı yazdırmak için bir button oluşturalım.

3. jQuery kütüphanesini ve jQuery print eklentisini içeri aktaralım.

4. Yazdır butonunda yazdırmak istediğimiz alanı yazdıralım.

5. Yapılandırma ayarları (İsteğe bağlı)

 

 

Plesk Panel Zamanlanmış Görev Ayarları (Scheduled Task) – Cron Job

Cron Job, Unix benzeri sistemlerde periyodik olarak çalıştırılması planlanan bir görevdir. Örneğin her günün sonunda bir dizini temizlemek için bir komut dosyası gibi sık sık çalıştırılması gereken bir komut dosyanız varsa kullanılabilir. Yada sisteminizi sürekli besleyecek veri besleme dosyasının belirli aralıklarla çalışmasını isteyebilirsiniz.

C-panel üzerinden cron job kullanımı için bir makale yazdım diye hatırlıyorum ama eğer yazmadıysam kısa bir süre içerisinde yazacağım 🙂

Örnek üzerinden gitmeyi her zaman için daha yararlı buldum. Bu makalemizde de bu yolu izleyeceğim. Aşağıdaki talimatlar, bir komut dosyasını her 5 dakikada bir çalıştırmak için nasıl ayarlayacağınızı göstermektedir.

Öncelikle plesk panel giriş bilgileri ile giriş yapalım ve Scheduled Tasks bölümüne gelelim.

Bir crontab’ın biçimi 6 sütun, boşluk veya sekme’ye ayrılmıştır. İlk 5 sütun, son sütunda belirtilen komutun ne zaman çalıştırılacağı hakkında bize ayrıntılı bilgi verir. Son “sütun” boşlukları içeren kalan tüm karakterleri oluşturur. Örneğimize geri dönecek olursak;

Yukarıdaki kod satırını biraz açıklayalım.

1- Çalıştırılacak dakika, 0-59: 5 değeri, saatin 5. dakikasında
2- Saat, 0-23 arasında bir değer: * her saat demektir
3- Ayın Günü, 1-31: *, ayın her günü anlamına gelir
4- Ay, 1-12: * her ay demektir
5- Haftanın Günü, 0-7 (0 ve 7 günleri Pazar): * her gün demektir
6- Komut: Çalıştırılacak dosya konumu (sunucu) / home / aspera / my_script.sh

Bir seçeneğimiz de, virgülle ayrılmış listeler kullanmaktır. Modern crontab işlemlerinde joker karakterler kullanabilir. Böylece, her 5 dakikada bir my_script.sh dosyasını çalıştıran bir girdi oluşturmak için zamanlanmış görev içerisinde kullanmamız gereken kod aşağıdaki gibi olacaktır:

İlk sütundaki * / 5 gösterimi “her 5 dakikada bir” anlamına gelir. Bunu her 10 dakikada bir yapmak için * / 10 kullanılır. Bir Solaris sisteminde aynı 5 dakikalık aralığı yapmak için aşağıdakileri deneyin:

Bonus: Aşağıda her 15 dakikada bir çalışacak olan bir zamanlanmış göre ekran görüntüsünü bulacaksınız.

Plesk v12.5

Plesk v12

Makalemi okuduğunuz için teşekkürler. İşlerinizde kolaylıklar dilerim.

C# ile JSON Veri Okumak ve Parse Etmek

Merhaba. Normalde bu işlemleri çoğunlukla PHP üzerinden gerçekleştiriyorum. Ancak geçtiğimiz günlerde C# üzerinde kullandığım bir takım parser kodlarımın çalışmadığını fark ettim. Çözmek için oldukça zaman kaybettiğimi fark edip, tekrardan yazmanın daha hızlı olacağına kanaat getirdim. Burada da paylaşma gereği duydum.

Örnek bir uygulama üzerinden işlemlerimizi gerçekleştireceğiz. Aşağıdaki gibi bir JSON veriler içeren bir JSON dosyamızın olduğunu varsayalım.

En kısa yoldan bir döngü içerisinde verileri okuma işlemini nasıl yapabiliriz? Şimdi ona bakalım.

JSON üzerinden gelen verileri bir dinamik dizi değişken içerisinde bir araya getirelim. Sonra da dizi içerisinde dönerek tüm verileri ele aldığımızdan emin olalım.

Tüm verileri başarılı biçimde ele almış durumdayız. Sorunlarınız için iletişim bölümünü kullanabilirsiniz.

jQuery Uzak Bir Sunucunun Çalışıp Çalışmadığını Kontrol Etmek

Merhaba. Bu yazımda sizlerle uzak bir sunucunun durumunu nasıl öğreneceğimizi aktaracağım. Bildiğiniz üzere web tabanlı çalışan uygulamaların veri alıp verdikleri JSON kaynakları çoğu zaman uzak sunucularda bulunuyor. Bu durumlar bazı zamanlarda dejavantaja dönüşebiliyor.

Kullanıcı bilgilendirmek yada işlemleri sunucu durumuna göre gerçekleştirmek için uzak sunucuda bulunan URL bilgimizi kontrol etmemiz gerekebilir. Bunları yaparken ben sunucu durum kodlarından yola çıkıyorum ve aktif olarak kullandığım bir yöntem var. Siz farklı yöntemleri de deneyebilirsiniz. Dilerseniz başlayalım.

Yöntem 2 (Bonus)

 

Offline.js ile Anlık İnternet Bağlantı Kontrolü {Çevrimdışı olduğunuzu algılamak}

JavaScript’in birçok işlevsel özelliğinden biri, belirli bir tarayıcının çevrimiçi veya çevrimdışı olup olmadığını tespit edebilmesidir. Bu işlevsellik, tarayıcınız tarafından sağlanan gezgin nesneler aracılığıyla kolaylıkla kullanılabilir; ancak kendi Javascript kodunuzu yazmaktan hoşlanmıyorsanız kullanabileceğiniz hazır bir alternatif var; offline.js kütüphanesi.

Tarayıcı çevrimiçi durumunu anlamaya neden ihtiyaç duyabilirim?

Şöyle bir senaryo düşünelim, uzun bir makale veya sekmeli formlar halinde çalışıyorsunuz, sonra tüm sevimli işlerinizi kaydetmek için “Kaydet” butonuna tıkladığınızda, bir şeyler test gidiyor, bağlantınız kopuyor boş bir sayfa kaldı yada bir bağlantı koptu mesajı görüyorsunuz karşınızda. Her birimiz daha önce böyle bir durumla maalesef ki karşılaştık; sunucu, yanıt vermediğinden veya ağ bağlantısı kesildiğinden, işlemlerimizi tamamlayamadık.

Karadüzen post veya get ile çalışan bir isteğiniz varsa da bu çok problem değildir, bağlantı koptuğu anda sayfayı yenilersiniz, parametreleriniz tekrar gönderilir. Tabii ki, modern tarayıcılar çoğunlukla önbellekte bir şeyler saklayacak ve ağ kilitlendiğinde bir cankurtaran gibi bize bir çözüm sunmaya çalışacak, ancak bazen istekler bildiğiniz gibi AJAX aracılığıyla gönderiliyor. Bu gibi durumlar her zaman daha pratik ama daha sorunsaldır, çünkü yeni içeriğinizi sunucu tarafına göndermeye çalışıncaya ve değişikliklerin etkili olmasına kadar AJAX hatalarını görebildiğiniz tek yer tarayıcı konsolunuzdur, bu aşamaya gelene kadar bir şeylerin yanlış gittiğini fark etmezsiniz, kaldı ki kaç kişi konsolu açıp işlemlerim tamamlandı mı diye kontrol ediyor? Sonuç olarak bağlantı nedeniyle sıkıntılar yaşadınız. Ama endişelenmeyin, artık bu yazıda öğreneceğiniz kütüphane ile bağlantı kontrollerinizi anlık olarak yapabileceksiniz.

Offline.js, herhangi bir web bağımlılığı olmadan çalışan ve Chrome, Firefox ve IE (sürüm 8 ve üzeri) tarafından desteklenen, gerçekten hafif bir betiktir (minikleştirilmiş ve sıkıştırılmış biçimdeki yalnızca 3 KB). Offline.js tarayıcıyı çevrimdışı duruma düştüğünde algılar, biliniyorsa yeniden bağlanma zamanı gibi göze çarpmayan ancak oldukça kullanışlı uyarılar ve ek bilgiler sağlar. Birden çok hazır CSS stili ve dili ile birlikte gelir. (Türkçe dil desteği mevcut) Öne çıkan ana özelliklerden biri AJAX (asynchronous) istek izleme işlemidir; bu nedenle üzerinde çalıştığınız sayfa yenilenmediğinde bile bağlantı sorunlarını algılayıp tepki gösterecektir.

Offline.js‘nin bunlara ulaşma biçimi oldukça basittir – belirli bir aralık başına sunucunuzdaki belirli bir dosyaya düzenli olarak bir HTTP isteği gönderir; isteği tamamlayamazsa, o zaman bir şeylerin ters gittiğini bilir ve ona göre tepki verir. Varsayılan olarak bu dosya favicon.ico olarak ayarlanmıştır, çünkü çoğu web sitesi ana dizinde bir favicon dosyası içerdiğinden bu oldukça mantıklı bir seçimdir.

Kurulum – Kullanım

Offline.js‘yi kullanmak için, .js dosyasını GitHub’dan indirmeniz ve bir tema seçmeniz yeterlidir.  Ana JavaScript dosyası, web sitenizin HEAD bölümüne eklenmelidir. Aşağıda sizlerle örnek bir kullanımı paylaşıyorum.

Exit mobile version