15%

Alexhost dileklerinizi gerçekleştiriyor

Ankete katılın ve ödüller kazanın

ALEX26
Başlayın
25.12.2024

Crontab Kullanarak Cron Görevlerini Görüntüleme ve Listeleme Nasıl Yapılır

Unix benzeri işletim sistemlerinde cron aracı, kullanıcıların belirli zamanlarda veya aralıklarla otomatik olarak çalıştırılacak görevleri (komutlar veya betikler) planlamasına olanak tanır. Bir sunucuyu yönetiyor veya yerel bir makinede otomatik görevleri yönetiyorsanız, cron sistem yöneticileri ve geliştiriciler için vazgeçilmez bir araçtır.

Bu makale, planlanmış görevleri verimli bir şekilde yönetmenize yardımcı olmak için

crontab
komutunu kullanarak cron görevlerini görüntüleme ve listeleme yöntemini açıklamaktadır.

Crontab Komutu Nedir?

Crontab (cron tablosunun kısaltması), cron daemon’u için planlanmış görevleri tanımlayan bir dosyadır.

root
kullanıcısı da dahil olmak üzere sistemdeki her kullanıcının, hangi görevlerin otomatikleştirileceğini belirten kendi crontab’ı olabilir.

Bir crontab girişi bu sözdizimini takip eder:


* * * * * command_to_be_executed
| | | | |
| | | | +----- day of the week (0–7) (Sunday = 0 or 7)
| | | +---------- month (1–12)
| | +--------------- day of the month (1–31)
| +-------------------- hour (0–23)
+------------------------- minute (0–59)

Bu yapı, görevlerin ne zaman yürütüleceği üzerinde hassas kontrol sağlar ve cron’u güçlü bir otomasyon aracı haline getirir.

Crontab Kullanarak Cron Görevlerini Listeleme

crontab
komutu, cron görevlerini yönetmek için ana araçtır. Aşağıda cron görevlerini listelemenin en yaygın yolları bulunmaktadır.

1. Kendi Cron Görevlerinizi Görüntüleyin

Şu anda oturum açmış olan kullanıcının cron görevlerini görüntülemek için:

crontab -l

Bu komut, mevcut kullanıcı için tüm planlanmış cron görevlerini listeler. Eğer hiç cron görevi yoksa, boş bir çıktı veya tanımlı bir crontab olmadığını belirten bir mesaj döndürebilir.

Örnek çıktı:


# m h dom mon dow command
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.
  • Bir temizlik betiği her Pazar sabahı 2:30’da çalışır.

2. Başka Bir Kullanıcının Cron Görevlerini Listeleyin

Eğer

sudo
veya root ayrıcalıklarınız varsa,
-u
bayrağını kullanarak başka bir kullanıcının cron görevlerini görüntüleyebilirsiniz:

sudo crontab -l -u username

username
ile gerçek kullanıcı adını değiştirin. Örneğin:

sudo crontab -l -u john

Bu, belirtilen kullanıcı için planlanmış tüm cron görevlerini görüntüler.

3. Sistem Genelinde Cron Görevlerini Listeleyin

Kullanıcıya özel cron görevlerinin yanı sıra, sistem veya root kullanıcısı tarafından planlanmış sistem genelinde cron görevleri de vardır. Bunlar genellikle şurada saklanır:

  • /etc/crontab
  • /etc/cron.d/
  • /var/spool/cron/crontabs/

Ana sistem crontab dosyasını görüntülemek için:

cat /etc/crontab

Örnek çıktı:


SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin
# m h dom mon dow user command
17 * * * * 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 yapılandırma, saatlik, günlük, haftalık ve aylık sistem bakım görevlerini planlar.

Ek sistem cron dosyalarını listelemek için:

ls /etc/cron.d/

Bu dizindeki her dosya, sistem hizmetleri için ek planlanmış görevler tanımlayabilir.

4. /var/spool/cron İçindeki Cron Görevlerini Görüntüleyin

Kullanıcıya özel crontab dosyaları genellikle

/var/spool/cron/crontabs
içinde saklanır. Bunları listelemek için:

ls /var/spool/cron/crontabs

Belirli bir kullanıcının crontab dosyasının içeriğini görüntülemek için:

cat /var/spool/cron/crontabs/username

Bu,

crontab -l -u username
ile aynı çıktıyı sağlar.

Cron Görevlerini Düzenleme

Mevcut kullanıcı için cron görevlerini düzenlemek veya eklemek için:

crontab -e

Bu, crontab dosyasını varsayılan metin düzenleyicisinde açar. Kaydedip çıkınca, değişiklikler hemen etkili olur.

Örnek: her gün sabah 3:00’te bir betik çalıştırmak:

0 3 * * * /home/user/script.sh

Yaygın Crontab Listeleme Komutları

  • Mevcut kullanıcının cron görevlerini listele:
    crontab -l
  • Başka bir kullanıcının cron görevlerini listele (sudo gerekli):
    sudo crontab -l -u username
  • Sistem crontab’ını görüntüle:
    cat /etc/crontab
  • /etc/cron.d/ içindeki cron dosyalarını listele:
    ls /etc/cron.d/
  • Kullanıcı crontab’larını listele:
    ls /var/spool/cron/crontabs

Sonuç

crontab
kullanarak cron görevlerini görüntülemek ve listelemek, Unix benzeri sistemlerde planlanmış görevleri yönetmenin basit ama güçlü bir yoludur. İster kişisel otomasyon ister sistem genelinde bakım görevleri ile ilgileniyor olun, bu komutları anlamak, görevlerinizin güvenilir bir şekilde ve zamanında çalışmasını sağlar.

Cron’u ustaca kullanarak, tekrarlayan görevleri otomatikleştirebilir, yedeklemeleri yönetebilir ve ortamınızdaki betiklerin tutarlı bir şekilde yürütülmesini sağlayabilirsiniz.

15%

Alexhost dileklerinizi gerçekleştiriyor

Ankete katılın ve ödüller kazanın

ALEX26
Başlayın