Cron, Linux işletim sistemindeki görevleri zamanlamak için kullanılan bir yardımcı programdır. Belirli zamanlarda, aralıklarda veya olaylarda komut dosyalarını veya komutları otomatik olarak çalıştırmanıza olanak tanır.
Cron'u kullanmak için, görevlerin bir listesini ve yürütülmeleri gereken zaman aralıklarını içeren bir crontab
dosyası oluşturmanız gerekir. crontab'daki her görev, boşluklarla ayrılmış beş alandan oluşan bir dizedir:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday = 0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- minutes (0 - 59)
Herhangi bir değer anlamına gelir, örneğin dakika alanı bir *
içeriyorsa, görev her dakika çalışacaktır. Bir alan için belirli bir değer ayarlamak istiyorsanız, örneğin, her gün saat 3'te, 0
3 * * *
yazmalısınız.
Bir crontab dosyası oluşturmak veya değiştirmek için crontab -e komutunu kullanın. Her kullanıcının kendi crontab dosyası olabileceği gibi, root kullanıcısı olarak çalışan görevleri içeren /etc/crontab
sistem dosyası da olabilir.
Docker konteynerleri içinde görevleri çalıştırmanıza izin veren bir cronjob
komutu vardır. Crontab
'a benzer şekilde çalışır, ancak görevler ana sistem yerine konteyner içinde çalıştırılabilir.
Linux'ta Cron kullanmaya başlamak için aşağıdaki adımları izleyin:
1. Bir terminal açın ve crontab -e
komutunu yazın. Bu, mevcut kullanıcı için crontab dosyasını açacaktır.
2. Yukarıda açıklanan alan biçimine göre crontab dosyasına bir görev ekleyin. Örneğin, every_hour.sh
betiğini her saat çalıştırmak istiyorsanız, 0 * * * * /path/to/every_hour.sh
satırını ekleyin.
3. Değişikliklerinizi kaydedin ve dosyayı kapatın.
4. crontab -l
komutunu kullanarak görevin crontab'a eklendiğini doğrulayın. Bu, crontab
'a eklenen tüm görevlerin bir listesini gösterecektir.
5. tail -f /var/log/syslog
komutunu kullanarak görevin zamanlandığı gibi çalıştığını doğrulayın. Görevin yürütülmesiyle ilgili çıktıyı göreceksiniz.
6. Eğer crontab
'dan bir görevi kaldırmak istiyorsanız, crontab -r
komutunu kullanın.
Akılda tutulması gereken bazı önemli noktalar vardır:
crontab
'a hem komut dosyaları hem de komutlar ekleyebilirsiniz. Ancak bir betiği çalıştırmak istiyorsanız, çalıştırma izinlerine sahip olduğundan emin olun(chmod +x /path/to/script.sh
).crontab
dosyasını açmak için sudo
crontab
-e
komutunu kullanın.crontab
'da belirtilen saatin Cron'u çalıştıran sunucudaki saatle eşleşeceğini unutmayın. Uzak bir sunucu kullanıyorsanız, sunucudaki saatin doğru yapılandırıldığından emin olun.