Gönderen Konu: SSH üzerinden cron oluşturma ve genel bilgiler.  (Okunma sayısı 2668 defa)

    Mustafa HAMIT
    Site Yöneticisi
    Full Üye
    *
    Üye No: 1
    Mesaj Sayısı: 124
    Nerden: Bursa
    Karma: +0/-0
    (MCSA) Microsoft Certified Systems Administrator

    Çevrimdışı


SSH üzerinden cron oluşturma ve genel bilgiler.
« : Kasım 30, 2015, 12:45:58 ÖÖ »
Linux/Unix sistemlerde zamanlanmış görevler oluşturmak üzere kullanılan cron, bir komutun, scriptin ya da uygulamanın belirli bir zamanda ya da zaman periyodunda çalıştırılmasını sağlamaktadır.

Cron girdileri /etc/crontab isimli dosyada crontab isimli araç ile düzenlenmektedir. Bu aracın temel kullanım şekilleri aşağıdaki gibidir.
   
Crontab’ın Editlenmesi

Crontab’ı vi editorü ile editmeke üzere -e parametresi kullanılır.

Kod: [Seç]
# crontab -e
Cron Girdilerinin Listelenmesi

Tüm cron girdilerini listelemek için ise -l paramteresi kullanılır.

Kod: [Seç]
# crontab -l
Cron Girdilerinin Kaldırılması

Tüm cron girdilerini silmek için ise -r paramteresi kullanılır.

Kod: [Seç]
# crontab -r
Cron Girdileri

Bir cron girdisi oluşturmak, crontab dosyasını editlemek ve girdi satırını düzgün dosyaya yazmaktan ibarettir. Temel bir cron girdisi aşağıdaki gibidir:

Kod: [Seç]
*  *  *  *  * /calistirilacak/komut/yada/script
Yukarıdaki cron girdisindeki (*) işaretleri zaman ve tarih değerlerinin tanımlanmasında kullanılır. Yukarıda görüldüğü şekilde bir cron girdisi tanımlarsanız çalıştırılmasını istediğiniz komut ya da script dosyası dakikada bir çalıştırılacaktır. Ancak belirli bir zaman set etmek isterseniz ilgili * işaretlerinin yerine doğru değerleri girmeniz gerekecektir.

* işaretlerinin sıralaması ve manaları ise aşağıdaki gibidir

Kod: [Seç]
.---------------- dakika (0 - 59)
|  .------------- saat (0 - 23)
|  |  .---------- Ayın Günleri (1 - 31)
|  |  |  .------- Ay (1 - 12)
|  |  |  |  .---- Haftanın Günleri (0 - 6) (Pazar=0 ya da 7)
|  |  |  |  |
*  *  *  *  *  Çalıştırılacak komut

Görüldüğü gibi ilk sıradaki yıldız 0 ile 59 arasında bir değer olabilen dakikayı ifade eder, sonraki 0 ile 23 arasında bir değer verebileceğiniz saat ifadesidir. Üçüncü yıldız da 31 gün üzerinden belirlenen ayın günlerini belirler, dördüncü alan ay ve sonunucu alan da haftanın günlerini ifade eder.

Konuyu daha iyi kavramak için aşağıdaki örneklerden yararlanabilirsiniz.
Örnekler

10 Dakikada Bir Çalışacak Cron Girdisi

Kod: [Seç]
*/10 * * * * /komut/yada/script

    */10 – Her On Dakika
    * – Her Saat
    * – Her Gün
    * – Her Ay
    * – Haftanın Her Günü

Hergün öğlen 12 ve akşam 18’de Çalışacak Cron Girdisi

Kod: [Seç]
00 12,18 * * * /komut/yada/script

    00 – Her Saat (00 Saat başlangıcı)
    12,18 – Öğlen 12’de ve Akşam 18’de
    * – Her Gün
    * – Her Ay
    * – Haftanın Her Günü

Sabah 9 Akşam 18 Arasında Her Saat Çalışacak Cron Girdisi

Kod: [Seç]
00 09-18 * * * /komut/yada/script

    00 – Her Saat (00 Saat başlangıcı)
    09-18 – Sabah 09’dan Akşam 18’e (09, 10, 11, 12, 13, 14, 15, 16, 17, 18)
    * – Her Gün
    * – Her Ay
    * – Haftanın Her Günü

Hafta İçi Günler Sabah 9 Akşam 18 Arasında Her Saat Çalışacak Cron Girdisi

Kod: [Seç]
00 09-18 * * 1-5 /komut/yada/script

    00 – Her Saat (00 Saat başlangıcı)
    09-18 – Sabah 09’dan Akşam 18’e her saat. (09, 10, 11, 12, 13, 14, 15, 16, 17, 18)
    * – Her Gün
    * – Her Ay
    1-5 – Pazartesi (1), Salı(2), Çarşamba(3), Perşembe(4), Cuma(5)

Örnekleri çoğaltmak mümkün ancak yazım şekli genel olarak böyledir ve kendi cron girdilerinizi kendi ihtiyaçlarınıza göre aynı mantıkla düzenleyebilirsiniz.
« Son Düzenleme: Kasım 30, 2015, 12:47:59 ÖÖ Gönderen: Mustafa HAMIT »

    Mustafa HAMIT
    Site Yöneticisi
    Full Üye
    *
    Üye No: 1
    Mesaj Sayısı: 124
    Nerden: Bursa
    Karma: +0/-0
    (MCSA) Microsoft Certified Systems Administrator

    Çevrimdışı


Ynt: SSH üzerinden cron oluşturma ve genel bilgiler.
« Yanıtla #1 : Kasım 30, 2015, 02:47:40 ÖÖ »
CRONLARI SSH ÜZERİNDEN AKTİF ETMEK İÇİN...

./etc/crontab dizininde bulunan uygulama ile zamanlanmış görevler tanımlayıp , sistemin ihtiaçlar doğrultusunda kendi kendine çalışmasını sağlayabiliriz.


İhtiyacınız olan komutlar

Düzenlemek , yeni görev eklemek için crontab -e
Dosya içine girmeden içeriği listemek için crontab -l


crontab -e dedikten sonra ekrana dosya içerği gelir.


0 * * * * php /var/www/html/cron.php
Örnekte gördüğünüz gibi ardarda yazılmış * var , bu yıldızlar görevi zamanlamak için kullanılır , yıldız olması sürekli anlamına gelir her saat , her gün , her dakika gibi.Değiştirmek istersek aşağıdaki bilgiler ışığında düzenleyebiliriz.

Her 10 dakikada bir çalıştırmak için */10 * * * * php /var/www/html/cron.php
Her Saat 15 geçe çalışırtırmak için 15 * * * * php /var/www/html/cron.php
Her Cuma 00:10 da çalıştırmak için 10 00 * * 4 php /var/www/html/cron.php
Her Gün Saat 23 de Çalıştırmak için 0 23 * * * php /var/www/html/cron.ph

Apache Stoplama Bazı Durumlarda sunucuda çalışma yapmanız gerekir bu durumlarda Apache durdurmalısınız apache stoplasanız dahi normalde belli süre sonra açılır bu nedenden bu cronu eklemelisiniz sunucuda çalışma yapacağınız Zaman
Her 1 dakikada bir çalıştırmak için */1 * * * * service httpd stop
Kayıt Etmek için CTRL+X , Y , ENTER

Daha sonrada kaydedip çıktığımızda artık görevimiz ekli ve belirttiğimiz sürelerde çalışacaktır

    Mustafa HAMIT
    Site Yöneticisi
    Full Üye
    *
    Üye No: 1
    Mesaj Sayısı: 124
    Nerden: Bursa
    Karma: +0/-0
    (MCSA) Microsoft Certified Systems Administrator

    Çevrimdışı


Ynt: SSH üzerinden cron oluşturma ve genel bilgiler.
« Yanıtla #2 : Kasım 30, 2015, 05:59:39 ÖÖ »


Sık çalıştırdığınız cron job’lar mevcut ve bunların çalışıp çalışmadığını görmek istiyorsunuz. O halde cron job’lar için tutulan log kayıtlarını anlık olarak aşağıdaki komutla izleyebilirsiniz.
Log dosyasına yeni bir satır eklendiğinde anında sayfaya basacaktır ve anlık olarak çalışan cron job’ları takip etmenizi sağlayacaktır.

# tail -f /var/log/cron
(cron job’larınıza ait logların yazıldığı dosyayı doğru belirtmelisiniz)

Tail komutu bir dosyanın son satırlarının görüntülenmesini (ekrana basılmasını) sağlamaktadır. Tail -f şeklinde -f parametresi ile kullanıldığında ise ilgili dosyanın live (canlı) olarak yani anlık olarak takip edilmesini sağlar.
F parametresi follow kelimesini ifade eder. Follow ingilizcede takip, izlemek, takip etmek anlamına gelir. Tail komutu stadart olarak bir dosyanın son 10 satırını ekrana basar bunu değiştirmek için -n parametresi kullanılır.

# tail -n 50 dosya.log