Crontab Kullanarak Cron İşleri Nasıl Görüntülenir ve Listelenir
Bu makalede, crontab komutunu kullanarak cron işlerini nasıl görüntüleyeceğinizi ve listeleyeceğinizi açıklayarak zamanlanmış görevleri etkili bir şekilde yönetmenize yardımcı olacağız.
Crontab nedir?
Crontab (“cron tablosu “nun kısaltması) cron sisteminde zamanlanmış görevleri tanımlayan bir dosyadır. Kök kullanıcı da dahil olmak üzere bir sistemdeki her kullanıcı, otomatikleştirmek istedikleri işleri belirten kendi crontab’ına sahip olabilir.
Crontab dosyası aşağıdaki sözdiziminde cron işlerinden oluşur:
* * * * command_to_be_executed
| | | | |
| | | ----- haftanın günü (0 - 7) (Pazar=0 veya 7)
| | | ---------- ay (1 - 12)
| | --------------- ayın günü (1 - 31)
| -------------------- saat (0 - 23)
------------------------- dakika (0 - 59)
Bu yapı, işlerin ne zaman yürütüleceği üzerinde hassas kontrol sağlayarak cron’u güçlü bir otomasyon aracı haline getirir.
Crontab Kullanarak Cron İşleri Nasıl Listelenir
Cron işlerini yönetmek için crontab komutu başvuracağınız yardımcı programdır. Belirli bir kullanıcı veya sistem için cron işlerinin nasıl görüntüleneceği aşağıda açıklanmıştır.
1. Kendi Cron İşlerinizi Görüntüleme
Mevcut kullanıcınızın cron işlerini görüntülemek için terminalde aşağıdaki komutu çalıştırın:
crontab -l
Bu, o anda sistemde oturum açmış olan kullanıcı için tüm zamanlanmış görevleri listeleyecektir. Eğer cron işi yoksa, komut boş bir liste veya kullanıcı için crontab olmadığını belirten bir mesaj döndürecektir.
Örnek çıktı:
# m h dom mon dow komutu
0 0 * * /home/user/backup.sh
30 2 * * 7 /home/user/scripts/cleanup.sh
Bu örnekte:
- Bir yedekleme betiği) her gün gece yarısı çalışır.
(backup.sh
- Bir temizleme betiği) her Pazar saat 2:30’da çalışır.
(cleanup.sh
2. Başka Bir Kullanıcı İçin Cron İşlerini Listeleme
Root veya sudo ayrıcalıklarına sahipseniz,
-u
sudo crontab -l -u kullanıcı adı
Kullanıcı adını, cron işlerini görmek istediğiniz kullanıcının gerçek kullanıcı adı ile değiştirin.
Örneğin, john adlı bir kullanıcının cron işlerini listelemek için şunu çalıştırın:
sudo crontab -l -u john
Bu, söz konusu kullanıcı için tüm zamanlanmış cron işlerini görüntüler.
3. Sistem Genelinde Cron İşlerini Listeleme
Kullanıcıya özel cron işlerine ek olarak, sistem veya kök kullanıcı tarafından zamanlanan sistem genelinde cron işleri de vardır. Bunlar /etc/crontab, /etc/cron.d/ ve /var/spool/cron/crontabs dizini gibi dizinlerde saklanır.
Sistem genelindeki cron işlerini listelemek için /etc/crontab dosyasını açabilir ve görüntüleyebilirsiniz:
cat /etc/crontab
Çıktı şu şekilde görünebilir:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin#
m h dom mon dow kullanıcı komutu17 * * * root cd / && run-parts –report /etc/cron.hourly
25 6 * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )
Bu örnekte:
- /işleri her saatin 17. dakikasında çalışır.
etc/cron.hourly
- işleri her gün sabah 6:25’te çalışır.
/etc/cron.daily
- /işleri her Pazar saat 6:47’de çalışır.
etc/cron.weekly
- işleri her ayın ilk günü sabah 6:52’de çalışır.
/etc/cron.monthly
Ayrıca /etc/cron.d/ dosyasını çalıştırarak da işleri görüntüleyebilirsiniz:
ls /etc/cron.d/
Bu dizindeki her dosya sistem hizmetleri için ek cron işleri içerebilir.
4. Cron İşlerini /var/spool/cron/ Dizininde Listeleme
Kullanıcıya özel cron işleri genellikle /var/spool/cron/crontabs dizininde saklanır. Bu dizine gidebilir ve tüm cron job dosyalarını listeleyebilirsiniz:
ls /var/spool/cron/crontabs
Bu, her kullanıcı için crontab dosyalarını gösterecektir. Belirli bir kullanıcının crontab içeriğini görüntülemek için şu komutu çalıştırabilirsiniz:
cat /var/spool/cron/crontabs/username
Bu, crontab -l -u kullanıcı adı çalıştırmakla aynı çıktıyı sağlar.
Cron İşlerini Düzenleme
Yeni cron işlerini değiştirmeniz veya eklemeniz gerekirse, crontab’ınızı çalıştırarak düzenleyebilirsiniz:
crontab -e
Bu, crontab’ınızı varsayılan metin düzenleyicide açar ve mevcut işleri eklemenize veya değiştirmenize olanak tanır.
Örneğin, her gün saat 3:00’te bir komut dosyası çalıştıran yeni bir iş eklemek için şu satırı eklersiniz:
0 3 * * /home/user/script.sh
Dosyayı kaydedip çıktıktan sonra, iş hemen zamanlanacaktır.
Yaygın Crontab Listeleme Komutları
İşte farklı senaryolarda cron işlerini listelemek için hızlı bir referans:
- Geçerli kullanıcının cron işlerini listeler:
crontab -l
- Başka bir kullanıcının cron işlerini listeler (sudo gerektirir):
sudo crontab -l -u kullanıcı adı
- Sistem genelindeki cron işlerini listeler:
cat /etc/crontab
- içindeki tüm
/etc/cron.d/
işlerini listeleyin:cron
ls /etc/cron.d/
- içinde saklanan
Var/spool/cron/crontabs/
işlerini görüntüleyin:cron
ls /var/spool/cron/crontabs
Sonuç
Crontab kullanarak cron işlerini listelemek ve görüntülemek, Unix benzeri bir sistemde zamanlanmış görevlerinizi yönetmenin basit ama güçlü bir yoludur. İster kullanıcıya özel cron işlerinizi ister sistem genelinde otomatikleştirilmiş görevleri yönetiyor olun, bu komutları anlamak işlerinizin sorunsuz ve zamanında çalışmasını sağlamaya yardımcı olur.
Cron konusunda uzmanlaşarak, tekrarlayan görevleri otomatikleştirebilir, yedeklemeleri koruyabilir ve komut dosyalarınızın ortamınızda tutarlı bir şekilde yürütülmesini sağlayabilirsiniz.