Cron Nedir?
Cron, Unix tabanlı işletim sistemlerinde zamanlama görevlerini otomatikleştirmek için kullanılan bir araçtır. Kullanıcıların belirli bir zaman aralığında, belirli bir komutu veya scripti çalıştırmalarına olanak tanır. Sistem yöneticileri için oldukça önemli bir araçtır çünkü çeşitli bakım görevleri, yedekleme işlemleri veya düzenli olarak çalıştırılması gereken scriptler gibi işlevleri yerine getirir.
Cron Tablosunun Yapısı
Cron, kullanıcıların zamanlama görevlerini belirlemek için “crontab” dosyasını kullanmasını gerektirir. Crontab dosyası, zamanlama bilgilerini ve çalıştırılacak komutları içeren bir dosyadır. Crontab dosyası, `crontab -e` komutu ile erişilebilir. Dosyanın yapısı şu şekilde tanımlanır:
“`
komut
– – – – –
| | | | |
| | | | +—– Hafta günleri (0 – 7) (Pazar her iki 0 ve 7 olarak temsil edilir)
| | | +——- Ay (1 – 12)
| | +——— Ayın günü (1 – 31)
| +———– Saat (0 – 23)
+————- Dakika (0 – 59)
“`
Bu yapıda her bir alan belirli bir zaman dilimini temsil eder. Örneğin, dakikalar, saatler, ayın günleri, aylar ve hafta günleri gibi.
Her 5 Dakikada Bir Görev Çalıştırma
Her 5 dakikada bir görev çalıştırmak için ilgili crontab satırını aşağıdaki gibi düzenlemek gerekmektedir:
“`
/5 komut
“`
Burada `/5` ifadesi, dakikalar alanında yer alarak her 5 dakikada bir görev çalıştırılacağını belirtir. Diğer alanlar “ ile tanımlandığı için belirtilen komut her saat, her gün, her ay çalıştırılacaktır.
Örnek Kullanım
Örnek bir komut çalıştırmak için basit bir scriptin var olduğunu varsayalım. Örneğin, `/usr/local/bin/myscript.sh` dosyasının her 5 dakikada bir çalışmasını sağlayalım. Bunun için crontab dosyasına aşağıdaki satır eklenmelidir:
“`
/5 /usr/local/bin/myscript.sh
“`
Bu satır, `myscript.sh` scriptinin her 5 dakikada bir çalıştırılmasını sağlar. Scriptin doğru şekilde çalışabilmesi için gerekli izinlerin verildiğinden emin olunmalıdır.
Crontab Dosyasını Düzenlemek
Crontab dosyasında yapılan değişiklikler kaydedilip çıktığında, cron hizmeti otomatik olarak bu değişiklikleri algılar ve belirlenen zaman dilimlerinde görevleri çalıştırmaya başlar. Bunun yaninda, her kullanıcının kendine ait bir crontab dosyası bulunmaktadır. Sistem yöneticisi olarak tüm kullanıcıların crontab dosyalarına erişim sağlamak için şu komut kullanılabilir:
“`
sudo crontab -l -u kullanıcı_adı
“`
Cron Görevlerinin İzlenmesi
Cron görevlerinin durumu ve çalıştırılması için sistemin default log dosyası kullanılarak takip edilebilir. Genellikle bu log /var/log/syslog ya da /var/log/cron.log dosyası altında bulunur. Log dosyasını kontrol ederek görevlerin doğru çalışıp çalışmadığı ve herhangi bir hata olup olmadığını görmek mümkündür.
Aşağıdaki komut ile son cron kayıtları görüntülenebilir:
“`
grep CRON /var/log/syslog
“`
Cronun Sıklıkla Yapılan Hataları
Cron görevleri tanımlanırken sık yapılan hatalardan biri, komut dosyasının tam yolunun belirtilmemesidir. Bazı kullanıcılar, dosya yolunu belirtmeksizin yalnızca dosya adını yazarak hata yapabilmektedir. Dikkat edilmesi gereken bir diğer husus ise, cron ortamında çalışacak scriptlerin ortam değişkenlerinin farklılık göstermesidir. Script içinde gereken değişkenlerin tanımlanmış olması önemlidir.
Güvenlik ve İzinler
Cron görevlerinin çalıştırılması sırasında gerekli izinlerin verilmesi de önemlidir. Scriptlerin çalıştığı kullanıcı, ilgili dosya üzerinde çalıştırma iznine sahip olmalıdır. Ayrıca, cronjob’ların güvenli bir şekilde kullanılması için, gereksiz yetkilendirmelerden kaçınılmalıdır.
Sonuç
Cron, belirli aralıklarla otomatik olarak görev çalıştırmak için etkili bir araçtır. Her 5 dakikada bir görev çalıştırmak, sistemin otomatik olarak belirlenen işleri yapmasını sağlamak amacıyla kullanılılabilir. Bu bilgiler ışığında, cron kullanımının etkili bir şekilde yönetilmesi, sistem yöneticileri için önem arz etmektedir.