2026'da sessiz zamanlanmış görev hatalarını izlemek için en iyi uygulamalar (masaüstünde 7 uygulamayı test ettik)

Kimsenin konuşmadığı arıza modu: zamanlanmış bir görev çalışmayı durdurur ve hiçbir şey sizi uyarmaz. Windows Task Scheduler yeşil “Hazır” durumunu gösterirken, alttaki script üç haftadır eksik bir bağımlılıkta sessizce çıkıyor. Ev sunucusundaki bir cron işi, zamanlama da bir OS yükseltmesinden kurtulur ama ortamda değil ve her gece çalışması gereken yedekleme dosya yazılmasını durdurur. Sistem hiçbir şey fırlatılmadığı için bir şeyin yanlış olduğunu düşünmez. Yedekleme sadece kayıp oldu.

2026’da Linux, Windows ve macOS’ta sessiz zamanlanmış görev hatalarını yakalamak için 7 en iyi uygulamayı test ettik. Liste, işinizden bir ping bekleyen ve sessiz kaldığında uyaran dead-man-switch hizmetlerini, push mode heartbeat’lerini de işleyen genel uptime izleyicilerini, deseni grafik çizmenizi sağlayan metrik ihracatçılarını ve ham sinyali gerçekten okuduğunuz bir uyarıya dönüştüren yerel araçları kapsar.

Zamanlanmış görev izleyicisinde ne arayacaksınız

Şu şekilde bir araç seçin:

Hızlı karşılaştırma

Uygulama En iyi Yaklaşım Self-hosted Ücretsiz tier
Healthchecks.io Self-hosted seçeneği ile Dead-man switch Push heartbeat Evet Evet, 20 kontrol
Cronitor İş başına istatistikler ile tam cron telemetrisi Push + wrapper Hayır Evet, 5 monitor
Dead Man’s Snitch Orijinal zamanlanmış görev kalp atışı Push heartbeat Hayır Evet, 1 snitch
Uptime Kuma Push modu ile Self-hosted uptime izleyici Pull + push Evet Ücretsiz, self-hosted
Prometheus Node Exporter Systemd timer durumu için metrikler Pull metrikler Evet Ücretsiz
systemd Linux’ta yerel arıza algılaması Yerel Evet Ücretsiz
Gotify Self-hosted push bildirim sunucusu Push server Evet Ücretsiz

Neden “görev çalıştı” “görev çalıştı” ile aynı değil

Çoğu zamanlayıcının kullandığı zihinsel model “işlem sona erdi mi?” ve gereken zihinsel model “sonuç gerçekleşti mi?” Kaynak dizini boş olduğu için başarıyla sona eren bir yedekleme komut dosyası, çalışan bir yedekleme değildir. Ağ çevrimdışı olduğu ve yeniden deneme döngüsü sessizce pes ettiği için başarıyla sona eren bir eşitleme, çalışan bir eşitleme değildir. Daemon kapalı olduğu ve istemci boş yanıt döndürdüğü için başarıyla sona eren bir rebuild-search-index görevi, çalışan bir yeniden oluşturma değildir.

Düzeltme iki katmanlı: görev yalnızca gerçek çalışmasını tamamladıktan sonra (sadece başlamadıktan sonra değil) bir heartbeat gönderir ve izleyici heartbeat kaybolduğunda uyarır. Zamanlama yığınındaki başka hiçbir şey “sessizce hiçbir şey yapmadığı” modunu yakalamazsa. Task Scheduler olmaz. Cron olmaz. Windows Event Log olmaz.

Uygulamalar

1. Healthchecks.io — self-hosted seçeneği ile en iyi dead-man switch

Healthchecks.io dead-man-switch deseninin referans uygulamasıdır. Her zamanlanmış görev, benzersiz bir URL alır, görev başarılı çalıştırılmasının sonunda bu URL’ye curl’ü tetikler ve Healthchecks, ping beklenen pencerede gelmezse uyarır. Kontrol başına ödemesiz dönem, ping-with-exit-code (yani curl $URL/fail kontrolü açıkça başarısız olarak işaretler) ve basit bir aralık veya tam cron ifadesi olarak ifade edilen kontrol başına zamanlamalar. Slack, Discord, PagerDuty, Gotify, ntfy, e-posta, SMS, webhook ve yaklaşık yirmi diğer uyarı kanalı.

Nerede kısa kalır: Barındırılan ücretsiz tier 20 kontrolle sınırlıdır; büyük otomasyon yüzeyleri olan evler bunu aşacaktır. Self-hosting bunu düzeltir ancak bakılması gereken bir hizmet ekler.

Platformlar: Self-hosted için herhangi bir Linux/Docker ana bilgisayarı. Barındırılan tier HTTP isteği yapabilen her şeyden çalışır.

İndir: Healthchecks.io install

Özet: Ev sunucusundaki zamanlanmış görev heartbeat’leri için doğru varsayılan.

2. Cronitor — iş başına istatistikler ile en iyi tam cron telemetrisi

Cronitor heartbeat’in ötesine geçer ve tam çalışma zamanı resmini yakalar — işin ne kadar sürdüğü, çıkış kodu, stdout ve stderr, çalıştırmalar arasında karşılaştırmalı grafikler ve bunlardan herhangi birinin değişmesi durumunda uyarılar. Cronitor CLI’sinde işi sarın veya başlat, bitiş ve başarısızlık sırasında URL’ye doğrudan ping yapın. Pano takımlara yöneliktir; özelliklerin yarısını kullanan bir ev, sadece çalışma zamanı grafiklerinden bile değer elde edecektir.

Nerede kısa kalır: Sadece barındırılan — self-hosted yolu yok. Ücretsiz tier 5 monitördür, bu meşgul bir sunucuda hızlı bir şekilde doldurulur.

Platformlar: Giden HTTPS yapabilen herhangi bir ana bilgisayar. Linux, macOS, Windows için CLI wrapper.

İndir: Cronitor download

Özet: İş başına çalışma zamanı grafikleri istediğiniz ve barındırılan bir hizmetle rahat olduğunuz zaman doğru seçim.

3. Dead Man’s Snitch — en iyi orijinal kalp atışı hizmeti

Dead Man’s Snitch deseni popülerleştirdi ve sessiz bir hatasıyakalamak için en kolay yollardan biri olmaya devam ediyor. Bir snitch oluşturun, bir URL alın, işin bu URL’ye çarpmasını sağlayın, aralık içinde URL ping’e tıklanmadığında bir e-posta alın. Bu tüm ürün. “Bundan daha karmaşık olması gereken bir şey var mı?” doğru soru olduğunda, Dead Man’s Snitch dürüst cevaptır.

Nerede kısa kalır: Ücretsiz tier bir snitch’tir — bir kritik işi korumak için yeterli ve başka hiçbir şey değil. Özellik derinliği Healthchecks ve Cronitor’dan geri kalır.

Platformlar: Giden HTTPS yapabilen herhangi bir ana bilgisayar.

İndir: Dead Man’s Snitch signup

Özet: “Yedekleme çalışmadı” uyarısı korumanız gereken tek sonuç olduğunda doğru seçim.

4. Uptime Kuma — push modu ile en iyi self-hosted uptime izleyici

Uptime Kuma, HTTP ve TCP sondalarının yanı sıra uygun bir push modunu büyüten self-hosted uptime izleyicidir. Nokta-ve-tıkla arayüzü, insanların önem verdiği çoğu uyarı kanalı, denetim başına durum sayfaları ve Healthchecks ile aynı “kontrolün X saniye içinde itildiği” modeli. Ev sunucusu zaten medya yığını için Uptime Kuma çalıştırıyorsa, aynı panotaya cron işi heartbeat’leri eklemek birkaç tıklamaya mal olur.

Nerede kısa kalır: Push modu desteği pull-mode sondalarından daha yeni ve daha kaba kenarların olduğu yerdir. Cron-heartbeat kullanım durumunda Healthchecks’ten daha az uzmanlaşmış.

Platformlar: Linux (Docker), Windows, macOS.

İndir: Uptime Kuma install

Özet: Ev zaten Uptime Kuma çalıştırıyorsa ve başka bir pano istemiyorsa doğru seçim.

5. Prometheus Node Exporter — systemd timer durumu için en iyi metrikler

Prometheus Node Exporter, systemd birimi ve timer durumu için bir toplayıcı gönderir. Prometheus ve Alertmanager ile birleştirildiğinde, “bu timer en son ne zaman başarıyla çalıştı,” “son N dakika içinde başarılı çalıştırma yok,” grafik oluşturabilir ve sistem genelinde metriklerle (CPU, disk, ağ) ilişki kurabilirsiniz. Bu, endüstri gücü yaklaşımıdır; bir ev için overkill, zaten Prometheus çalıştıran biri için tam doğru şekil.

Nerede kısa kalır: Yararlı olması için tüm Prometheus yığınını gerektirir — bu gerçek altyapı, beş dakikalık kurulum değil. Timer toplayıcı için systemd-özgü; cron işleri farklı bir yaklaşım gerektirir.

Platformlar: Linux, Windows, macOS, FreeBSD.

İndir: Prometheus Node Exporter releases

Özet: Prometheus zaten ev laboratuvarında metrik depolama olduğunda doğru seçim.

6. systemd — Linux’ta en iyi yerel arıza algılaması

systemd modern Linux’ta, çoğu cron göçmeni fark etmekten daha fazla yerleşik arıza işleme vardır. OnFailure= olan bir birim başarısız olduğunda başka bir birimi tetikler, bu bir mail komut dosyası, bir webhook veya Healthchecks’i ping yapan bir komut dosyası olabilir. systemctl list-timers zamanlamayı ve son çalıştırmayı gösterir ve systemctl status <unit> çıkış kodunu ve günlük tail’ini gösterir. Systemd zamanlayıcılarında zaten olan biri için izlemenin yarısı zaten kutuda.

Nerede kısa kalır: Sadece işlem başarısız olduğunu söyler, sonuç başarısız olmadığını söylemez. Başarıyla biten ancak yararlı bir şey yapmayan bir yedekleme komut dosyası, systemd’ye yeşil görünür.

Platformlar: Linux (systemd tabanlı dağıtımlar).

İndir: systemd resources

Özet: Systemd zamanlayıcıları çalıştıran herhangi bir Linux sunucusunda doğru minimum.

7. Gotify — en iyi self-hosted push bildirim sunucusu

Gotify, herhangi bir HTTP isteğini Android push bildirimine dönüştüren küçük Go sunucusudur. Kendi başına arızaları algılamaz; yukarıdaki araçlardan herhangi biri ile birleştirildiğinde, uyarıların Firebase Cloud Messaging’e veya üçüncü taraf bir bildirim hizmetine bağlı olmadan bir telefona gerçekten nasıl ulaştığı hale gelir. Uyarı kanalının izlenen sunucular kadar özel olması gereken evler için idealdir.

Nerede kısa kalır: Kendi başına bir monitor değil. Android uygulamasının alıcı telefonlara yüklenmesi gerekir; iOS desteği Gotify’ın kendi uygulaması yerine ntfy veya benzerine dayanır.

Platformlar: Linux (Docker), Windows, macOS, FreeBSD.

İndir: Gotify install

Özet: Self-hosted uyarı yığını için doğru son mil push bildirim sunucusu.

Doğru olanı seçme

Çoğu ev laboratuvarı için, çalışan kombinasyon Healthchecks (self-hosted) olarak dead-man switch, telefon itişi ve e-posta fallback için Gotify’a bağlı. Systemd zamanlayıcısı olarak çalışan her şey, başarısızlık durumunda aynı Healthchecks uç noktasına ping yapan bir OnFailure= birimi alır, böylece iki sinyal korelasyon kurar.

SSS

Heartbeat ile health check arasındaki fark nedir?

Heartbeat işin “ben çalıştım ve başarılı oldum” demesidir. Health check, hizmetin yanıt verip vermediğini görmek için hizmeti araştıran bir izleyicidir. Heartbeat’ler sessiz zamanlanmış görev hatalarını yakalar; health checkler çalışma zamanı hizmet hatalarını yakalar. Her ikisini istersiniz.

Uyarıları nereye göndermeliyim?

İzlenen makinenin dışında bir yere. E-posta fallback olarak iyidir ancak tek kanal olmamalıdır — e-postayı çalıştıran makine başarısız olan makineyse, uyarı asla gitmez. Yüksek öncelikli işler için e-posta ve telefon itişi (ntfy, Gotify, Pushover) ve sohbet kanalı (Discord webhook, Slack) ekleyin.

Windows Task Scheduler işine nasıl heartbeat eklerim?

Gerçek görevi çalıştıran, çıkış kodunu kontrol eden ve yalnızca her şey başarılı olduğunda Healthchecks veya Cronitor URL’sine karşı Invoke-WebRequest çağıran küçük bir PowerShell komut dosyasında eylemi sarın. Task Scheduler’ın “bunu tamamlandığında çalıştır” kancası başarı ve başarısızlığı temiz bir şekilde ayırt etmez, bu nedenle komut dosyasında yapın.

Systemd gerçekten Linux izleme için yeterli midir?

“Süreç kilidi mi?” için — evet. “Sonuç gerçekleşti mi?” için — hayır. Systemd’nin OnFailure= öğesini, işin gerçek çalışması bittikten sonra gönderilen heartbeat ile birleştirerek tam resim elde edin.

Yine de cron’u izlemeliyim mi?

Evet. Cron çalışıyor ve sağlıklı olabilir, bireysel işler sessizce ateşlemeyi durdurur (kötü crontab sözdizimi, izin değişikliği, eksik kullanıcı). Uptime Kuma veya Healthchecks, ev sunucusundaki cron’un son çalıştırılma saatini de izleyebilir; bu eski olursa, cron’un dikkat etmesi gereken şeydir.