Ders 1.60: cron yerine zamanlayıcılar
cron onlarca yıldır Unix'te işleri zamanlıyor, ama işleri hizmet yöneticisinin dışında çalışır: günlük yok, korumalı alan yok, son çalıştırmanın işe yarayıp yaramadığına dair kayıt yok ve kaçırılan bir çalıştırma (sunucu kapalıydı) basitçe atlanır. Bir systemd zamanlayıcısı bir .service birimini bir takvime göre başlatan bir .timer birimidir; hizmet günlüğü, 1.2'deki korumalı alanı ve durumu alır ve Persistent=true kaçırılan çalıştırmaları telafi eder. Laboratuvarda web02'nin gecelik yedek cron işini bir hizmet ve zamanlayıcı çiftiyle değiştiriyor, takvimi denetliyor, onu etkinleştiriyor ve test ediyorsun.
16 dk
Bu derste öğreneceklerin
- cron işlerini ve systemd zamanlayıcılarını karşılaştırmak
- Bir oneshot hizmet ve bir zamanlayıcı yazmak
- OnCalendar ifadelerini denetlemek
- Zamanlayıcıları etkinleştirmek ve listelemek
- İşi bir kez çalıştırıp günlüğünü okumak
Temel terimler
- Zamanlayıcı birimi
- Eşleşen bir .service'i bir takvime göre ya da bir gecikmeden sonra başlatan .timer dosyası.
- OnCalendar=
- systemd'nin takvim sözdiziminde bir duvar saati takvimi.
- Persistent=true
- Makine kapalıyken kaçırılan bir işi, geri gelir gelmez çalıştırır.
- Type=oneshot
- Çalışmaya devam etmek yerine tamamlanana kadar çalışıp çıkan hizmet.
- list-timers
- Her etkin zamanlayıcıyı bir sonraki ve son çalıştırmasıyla gösterir.
← Çekirdek, kabuk ve terminal · Tüm dersler · Çöken bir programı strace ile izlemek →