Belirli Zamanlarda Script Çalıştırmak İçin Crontab Nasıl Kurulur

Server’ınızda veya makinenizde cron kullanarak görevleri otomatikleştirmek mi istiyorsunuz? Yeni kullanıcılar arasında sıkça sorulan bir soru, belirli bir saatte bir script çalıştırmak için crontab girdisinin nasıl ayarlanacağıdır. Bu yazıda, sıkıcı e-posta bildirimleri almadan veya günlük oluşturmadan her gün 23:59‘da bir scriptin nasıl çalıştırılacağına odaklanacağız. Bunu adım adım nasıl gerçekleştireceğimizi keşfedelim.

Crontab’ı Anlamak

Crontab, Unix benzeri işletim sistemlerinde zaman tabanlı görev zamanlayıcısıdır. Kullanıcılara belirli aralıklarla veya zamanlarda (komutlar veya scriptler) görevleri planlama imkanı sunar. Crontab dosyası, belirtilen zamanlarda çalıştırılmak üzere tasarlanmış komutların bir listesini içerir. Kullanacağınız format şöyle olacaktır:

* * * * * çalıştırılacak_komut

Her bir yıldız bir zaman birimini temsil eder:

  • Birinci *, dakikalar içindir (0-59)
  • İkinci *, saatler içindir (0-23)
  • Üçüncü *, ayın günleri içindir (1-31)
  • Dördüncü *, ay içindir (1-12)
  • Beşinci *, haftanın günleri içindir (0-7, burada hem 0 hem de 7 Pazar’ı temsil eder)

Crontab Girdinizi Ayarlamak

Crontab’ınızı her gün 23:59‘da bir script çalıştıracak şekilde ayarlamak için şu adımları izlemelisiniz:

  1. Crontab düzenleyicisini açın: Terminalinizde aşağıdaki komutu çalıştırarak crontab’ınızı açabilirsiniz:

    crontab -e
    
  2. Crontab komutunu girin: Aşağıdaki satırı ekleyerek scriptinizi istediğiniz saatte çalıştırın:

    59 23 * * * /path/to/your/script.sh > /dev/null 2>&1
    

    İşte her bir kısmın anlamı:

    • 59 - Bu, komutun 59. dakikada çalıştırılması gerektiğini belirtir.
    • 23 - Bu, komutun 23. saatte (11 PM) çalıştırılması gerektiğini belirtir.
    • * * * - Yıldızlar, komutun her gün, her ay ve haftanın her günü çalıştırılması gerektiğini gösterir.
    • /path/to/your/script.sh - Bunu scriptinizin gerçek yolu ile değiştirin.
    • > /dev/null 2>&1 - Bu kısım, hem standart çıktıyı hem de standart hatayı /dev/null‘a yönlendirerek e-posta ve günlük kayıtlarının oluşturulmasını engeller.

E-postaları ve Günlük Oluşturmayı Önlemek

> /dev/null 2>&1 ekleyerek, scriptinizden hiçbir çıktının e-posta ile gönderilmeyeceğini ve hiç bir yerde kaydedilmeyeceğini garanti etmiş oluyorsunuz. Bu, crontab’ınızı daha temiz hale getirir ve özellikle sıkça çalışan ancak raporlama gerektirmeyen scriptler için gelen kutunuzdaki karmaşayı azaltır.

Son Düşünceler

Crontab’ınızı ayarlamak, görevleri otomatikleştirmenin basit ama güçlü bir yoludur. Yukarıdaki adımları takip ederek, her gün 23:59‘da bir script çalıştırmayı e-posta veya günlük karmaşası olmadan kolaylıkla planlayabilirsiniz.

Crontab hakkında daha kapsamlı bilgi için terminalinizde man crontab komutunu çalıştırarak harika örnekler ve daha fazla açıklama içeren man sayfasını gözden geçirmeyi düşünebilirsiniz.

Artık geri yaslanabilir ve bilgisayarınızın tekrarlanan görevleri halletmesine izin verebilirsiniz!