Cron ile Görev Zamanlama
Belirli aralıklarla veya zamanlarda betik ve komutları otomatik olarak çalıştırmak için 'cron' yardımcı programını kullanmayı öğrenin.
Cron ile Görev Zamanlama, CoddyKit'te ücretsiz bir Linux Command Line & Bash Scripting Mastery dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Linux Command Line & Bash Scripting Mastery öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Linux Command Line & Bash Scripting Mastery kursu toplamda 4 dersten oluşur.
Görevleri Cron ile Otomatikleştirme
Otomasyon dünyasına hoş geldiniz! Bu derste, Linux'ta komutları veya betikleri belirli zamanlarda otomatik olarak çalıştırmanızı sağlayan güçlü bir yardımcı program olan cron hakkında bilgi edineceksiniz.
Hiçbir şey yapmanıza gerek kalmadan günlük yedeklemeler veya saatlik sistem denetimleri ayarladığınızı düşünün; cron'un görevi tam olarak budur!
Kişisel Crontab Dosyanız
Linux sistemindeki her kullanıcının kendine ait bir crontab (cron tablosu) dosyası vardır. Zamanlanmış tüm görevlerinizi burada saklarsınız.
Kişisel crontab dosyanızı düzenlemek için crontab -e komutunu kullanırsınız. Bu komut dosyayı varsayılan metin düzenleyicinizde açar ve yeni görevler eklemenize hazır hâle getirir.
Crontab Girdisi: Zaman Alanları
Bir crontab girdisi altı bölümden oluşur. İlk beş bölüm komutunuzun ne zaman çalışacağını tanımlar ve aralarında boşluk bulunur:
- Dakika:
0-59 - Saat:
0-23(0, gece yarısıdır) - Ayın Günü:
1-31 - Ay:
1-12(veyaJan-Dec) - Haftanın Günü:
0-7(0 veya 7 pazar, 1 pazartesidir)
Crontab Girdisi: Komut
Bir crontab girdisinin altıncı ve son bölümü, çalıştırmak istediğiniz komut veya betiktir.
Burada komutlar ve betikler için mutlak yollar kullanmanız çok önemlidir (örneğin yalnızca python yerine /usr/bin/python). Cron görevleri en az sayıda ayarın bulunduğu bir ortamda çalışır; bu nedenle alıştığınız PATH kullanılamayabilir.
Özel Crontab Karakterleri
Zamanlamalarınızı esnek hâle getirmek için cron özel karakterler kullanır:
*(yıldız): Olası tüm değerlerle eşleşir (örneğin her dakika veya her saat).,(virgül): Bir değer listesini ayırır (örneğin dakika 1 ve 15 için1,15).-(tire): Bir değer aralığı tanımlar (örneğin 9'dan 17'ye kadar olan saatler için9-17)./(eğik çizgi): Adım değerlerini belirtir (örneğin her 10 dakikada bir için*/10).
Önceden Tanımlanmış Zamanlama Kısayolları
Yaygın zamanlama ihtiyaçları için cron, ilk beş zaman alanının yerine geçen kullanışlı kısayollar sunar:
@reboot: Sistem yeniden başlatıldıktan sonra bir kez çalışır.@yearly(veya@annually): Yılda bir kez çalışır (0 0 1 1 *).@monthly: Ayda bir kez çalışır (0 0 1 * *).@weekly: Haftada bir kez çalışır (0 0 * * 0).@daily(veya@midnight): Günde bir kez çalışır (0 0 * * *).@hourly: Saatte bir kez çalışır (0 * * * *).
Uygulama: Basit Bir Betik Zamanlama
Bir selamlama iletisini kaydeden basit bir betik oluşturalım ve bunu her gün saat 10:00'da çalışacak şekilde zamanlayalım.
- Betiği oluşturun (örneğin
~/greet.sh): - Çalıştırılabilir hâle getirin:
chmod +x ~/greet.sh - Crontab'a ekleyin (
crontab -e):0 10 * * * /home/user/greet.sh
Bu girdi şu anlama gelir: Dakika 0'da, saat 10'da (10 AM), ayın her gününde, her ayda ve haftanın her gününde/home/user/greet.shdosyasını çalıştır.
#!/bin/bash
# This script logs a greeting to a temporary file.
echo "Hello from Cron! The time is $(date)" >> /tmp/cron_greeting.logCron Görevlerinizi Yönetme
Cron görevlerini ekledikten sonra bunları yönetmeniz gerekir:
- Mevcut crontab girdilerinizi listelemek için:
crontab -l - Tüm crontab girdilerinizi kaldırmak için (geri alma seçeneği olmadığından çok dikkatli kullanın!):
crontab -r
Girdilerinizin doğru olduğundan emin olmak için değişiklik yaptıktan sonra crontab'ınızı her zaman crontab -l ile gözden geçirin.
Cron'un Ortam Değişkenleri
Cron görevlerinin en az sayıda ayarın bulunduğu bir ortamda çalıştığını unutmayın. Bu nedenle görevler, etkileşimli kabuğunuzdaki PATH gibi ortam değişkenlerinin aynısına çoğu zaman sahip olmaz.
Betiğiniz belirli komutlara dayanıyorsa bunların mutlak yollarını kullanın veya gerekli ortam değişkenlerini crontab dosyanızın en üstünde doğrudan tanımlayın; örneğin PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin.
Crontab Söz Dizimi Yarışması
/home/user/daily_report.sh adlı bir betiği her hafta içi (pazartesiden cumaya) saat 9:15 AM'de çalışacak şekilde zamanlamanız gerekiyor. Hangi crontab girdisi doğrudur?
Özet: Cron Zamanlamasında Ustalaşma
Harika iş çıkardınız! Artık görevleri zamanlamak için cron kullanımının temel ilkelerinde ustalaştınız.
crontabdosyasını ve dosyayıcrontab -eile nasıl düzenleyeceğinizi öğrendiniz.- Zaman alanları ve komut da dâhil olmak üzere bir cron girdisinin altı alanını anlıyorsunuz.
- Esnek zamanlama için özel karakterleri ve önceden tanımlanmış kısayolları keşfettiniz.
- Görevlerinizi
crontab -lvecrontab -rile nasıl yöneteceğinizi biliyorsunuz. - Cron bağlamında mutlak yolların ve ortam değişkenlerinin önemini de öğrendiniz.
Şimdi öğrendiklerinizi uygulayarak otomasyon oluşturun!
Sıkça Sorulan Sorular
“Cron ile Görev Zamanlama” dersi ücretsiz mi?
Evet — “Cron ile Görev Zamanlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Linux Command Line & Bash Scripting Mastery kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Linux Command Line & Bash Scripting Mastery kursu toplamda 4 dersten oluşur.
“Cron ile Görev Zamanlama” dersinde ne öğreneceğim?
Belirli aralıklarla veya zamanlarda betik ve komutları otomatik olarak çalıştırmak için 'cron' yardımcı programını kullanmayı öğrenin. Linux Command Line & Bash Scripting Mastery ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Linux Command Line & Bash Scripting Mastery öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Linux Command Line & Bash Scripting Mastery, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Cron ile Görev Zamanlama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Linux Command Line & Bash Scripting Mastery dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Linux Command Line & Bash Scripting Mastery dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Cron ile Görev Zamanlama
- Sistem Yönetimini Otomatikleştirme
- İleri Düzey Betik Projesi
- Otomatik Günlük Döndürme ve Temizleme