Cron işleri, Unix benzeri sistemlerde belirli aralıklarla otomatik olarak çalışan planlı görevlerdir. Genellikle sistem bakımı, yedeklemeler, betik otomasyonu ve diğer tekrarlayan görevler için kullanılırlar. Kendi sunucunuzu yönetiyor veya bir sorunu gideriyorsanız, cron işlerini listelemeyi ve görüntülemeyi bilmek önemlidir. Bu kılavuz, mevcut cron işlerini crontab komutunu kullanarak nasıl görüntüleyeceğinizi gösterecektir.

Crontab Nedir?

crontab, cron tablosu anlamına gelir. Belirli bir kullanıcı için cron işlerinin listesini içeren bir dosyadır. Bu dosyadaki her satır bir görevi ve planlanan zamanını temsil eder.

Mevcut Kullanıcının Cron İşlerini Görüntüleme

Şu anda giriş yapmış kullanıcı için cron işlerini görüntülemek için, bir terminal açın ve şunu çalıştırın:

crontab -l

Bu komut, mevcut kullanıcının crontab dosyasının içeriğini çıktılar. Eğer hiçbir iş planlanmamışsa, şöyle bir mesaj göreceksiniz:

no crontab for [username]

Başka Bir Kullanıcının Cron İşlerini Görüntüleme (root olarak)

Root ayrıcalıklarınız varsa ve başka bir kullanıcının cron işlerini kontrol etmeniz gerekiyorsa, kullanıcı adından sonra -u bayrağını kullanın:

sudo crontab -u username -l

Örnek:

sudo crontab -u www-data -l

Bu, sistem düzeyindeki görevleri yönetirken veya belirli hizmetler için cron işlerini giderirken faydalıdır.

Sistem Genelinde Cron İşlerini Görüntüleme

Kullanıcıya özel crontabların yanı sıra, sistem de planlı görevleri çeşitli yerlerde saklar:

1. Sistem Crontab Dosyası

cat /etc/crontab

Bu dosya, sistem tarafından planlanan görevleri içerir ve genellikle farklı kullanıcılar için girişler içerir.

2. Cron İşleri Dizini

Bu dizinlerde betikler de bulabilirsiniz:

  • /etc/cron.hourly/

  • /etc/cron.daily/

  • /etc/cron.weekly/

  • /etc/cron.monthly/

Bu dizinlere yerleştirilen her betik, ilgili aralıkta çalıştırılır.

3. Cron.d Dizini

ls /etc/cron.d/

Bu dizin, hizmetler ve uygulamalar için ek cron tanımları içerir.

Crontab Formatını Anlamak

Bir crontab dosyasındaki her satır bu sözdizimini izler:

* * * * * command_to_run
│ │ │ │ │
│ │ │ │ └── Day of the week (0 - 7) [Sunday=0 or 7]
│ │ │ └──── Month (1 - 12)
│ │ └────── Day of month (1 - 31)
│ └──────── Hour (0 - 23)
└────────── Minute (0 - 59)

Örnek:

0 2 * * * /usr/bin/backup.sh

Bu, “her gün saat 2:00’de /usr/bin/backup.sh çalıştır” anlamına gelir.

Profesyonel İpucu: grep ile Çıktıyı Temizle

Belirli işleri arıyorsanız, çıktıyı filtreleyebilirsiniz:

crontab -l | grep backup

Özet

Cron işlerini listeleme yönteminin hızlı bir özeti:

GörevKomut
Mevcut kullanıcının cron işlerini listelecrontab -l
Başka bir kullanıcının cron işlerini listelesudo crontab -u kullanıcı_adı -l
Sistem crontab’ını görüntülecat /etc/crontab
Sistem dizinlerindeki cron işlerini listelels /etc/cron.*
Belirli cron işlerini görüntüle`crontab -l

Bu basit komutları öğrenerek, herhangi bir Unix veya Linux sisteminde cron işlerini kolayca inceleyebilir ve yönetebilirsiniz. Planlı görevlerinizi düzenli olarak gözden geçirmek, sisteminizin verimli çalışmasını sağlar ve istenmeyen sürprizlerden kaçınmanıza yardımcı olur.