Os-Security
September 14, 2023

Linux Crontab Kullanımı

Linux işletim sistemi, çeşitli görevleri düzenli olarak otomatikleştirmek için bir zamanlama aracı olan Crontab'ı kullanır. Crontab, belirli bir zamanda çalıştırılacak görevleri ayarlamanıza olanak tanır. Bu görevler, bir metin dosyası içinde tanımlanır ve crontab komutu kullanılarak kaydedilir. Daha sonra, sistem belirtilen zaman aralıklarında crontab dosyasındaki görevleri çalıştırır.

Crontab dosyası, beş ayrı sütundan oluşur ve her sütun bir zamanlama unsuru temsil eder. Bu sütunlar, dakika, saat, gün, ay ve haftanın günüdür. Ayrıca, crontab dosyasındaki her satırda bir görev tanımlanır. Bu görev, sistemde bulunan herhangi bir betik veya komut dosyası olabilir.

Crontab dosyasının yapısı şöyledir

*     *     *     *     *   komut veya betik
-     -     -     -     -
|     |     |     |     |
|     |     |     |     ----- haftanın günü (0 - 6) (Pazar 0'dır)
|     |     |     -------- ay (1 - 12)
|     |     ---------- gün (1 - 31)
|     --------------- saat (0 - 23)
-------------------- dakika (0 - 59)

Crontab dosyasında, herhangi bir zamanlama sütunu için bir değer belirtilmezse, o sütuna herhangi bir değer girildiği anlamına gelir. Yıldız (*) karakteri, herhangi bir değer anlamına gelir. Örneğin, "/5" ifadesi, beş dakikada bir anlamına gelir.

Aşağıdaki örnekler, crontab dosyasında belirli bir zamanlama formatına uygun olarak görevlerin nasıl tanımlanacağını göstermektedir:

Her gün saat 3:30'da "backup.sh" betiğini çalıştırma:

30 3 * * * /home/user/scripts/backup.sh

Her haftanın pazartesi günü saat 7:00'da "mailreport.sh" betiğini çalıştırma:

0 7 * * 1 /home/user/scripts/mailreport.sh

Komut satırı kullanımı

crontab [options] [filename]

-e : Kullanıcının crontab dosyasını düzenlemesini sağlar.

-l : Kullanıcının crontab dosyasında listelenen görevleri görüntülemesini sağlar.

-r : Kullanıcının crontab dosyasındaki tüm görevleri silmesini sağlar.

-u Kullanıcı seçimi için kullanılır.

Örnek root kullanıcısı için kullanılacak komut

sudo crontab -e root

işinize yaraması dileğiyle.