Mode kegagalan yang tidak dibicarakan siapa pun: tugas terjadwal berhenti berjalan dan tidak ada yang memberitahu Anda. Windows Task Scheduler menampilkan status hijau “Ready” sementara skrip yang mendasarinya diam-diam keluar pada dependensi yang hilang selama tiga minggu. Pekerjaan cron di server rumah bertahan dari upgrade OS dalam jadwal tetapi bukan di lingkungan, dan cadangan yang seharusnya berjalan setiap malam berhenti menulis file. Sistem tidak berpikir ada yang salah karena tidak ada yang dibuang. Cadangan hanya hilang.
Kami menguji 7 aplikasi terbaik untuk menangkap kegagalan tugas terjadwal yang diam di seluruh Linux, Windows, dan macOS pada tahun 2026. Daftar mencakup layanan dead-man-switch yang mengharapkan ping dari pekerjaan Anda dan mengingatkan ketika diam, monitor uptime umum yang juga menangani heartbeat mode push, eksportir metrik yang memungkinkan Anda membuat grafik pola, dan alat lokal yang mengubah sinyal mentah menjadi peringatan di tempat yang benar-benar Anda baca.
Apa yang dicari dalam monitor tugas terjadwal
Pilih alat yang:
- Menggunakan dead-man switch, bukan hanya “periksa apakah kode keluar nol.” Intinya adalah bahwa pekerjaan tidak berjalan sama sekali.
- Menangani toleransi jadwal dengan masuk akal. Pekerjaan yang berjalan pada 03:00 harus mentoleransi beberapa menit drift sebelum mengingatkan; pekerjaan yang berjalan setiap menit tidak boleh mentoleransi jam.
- Mengirim peringatan ke saluran yang Anda periksa. Email bagus sampai pemadaman ada di server surat Anda; lapis setidaknya satu saluran non-email (layanan push, webhook Discord, SMS).
- Berjalan terlepas dari host yang dipantaunya. Monitor yang mati bersama kotak yang ditonton bukanlah monitor.
- Tidak memerlukan pembayaran per pekerjaan. Rumah tangga sering memiliki dua puluh atau tiga puluh tugas terjadwal; model penagihan per pekerjaan mengubah infrastruktur rumah tangga menjadi pusat biaya korporat.
Perbandingan cepat
| Aplikasi | Terbaik untuk | Pendekatan | Self-hosted | Tingkat gratis |
|---|---|---|---|---|
| Healthchecks.io | Dead-man switch dengan opsi self-hosted | Push heartbeat | Ya | Ya, 20 cek |
| Cronitor | Telemetri cron lengkap dengan statistik per-pekerjaan | Push + wrapper | Tidak | Ya, 5 monitor |
| Dead Man’s Snitch | Layanan heartbeat tugas terjadwal asli | Push heartbeat | Tidak | Ya, 1 snitch |
| Uptime Kuma | Monitor uptime self-hosted dengan mode push | Pull + push | Ya | Gratis, self-hosted |
| Prometheus Node Exporter | Metrik untuk status systemd timer | Pull metrik | Ya | Gratis |
| systemd | Deteksi kegagalan asli di Linux | Asli | Ya | Gratis |
| Gotify | Server notifikasi push self-hosted | Push server | Ya | Gratis |
Mengapa “tugas berjalan” tidak sama dengan “tugas bekerja”
Model mental yang digunakan oleh sebagian besar penjadwal adalah “apakah proses selesai?” dan model mental yang dibutuhkan adalah “apakah hasil terjadi?” Skrip cadangan yang selesai dengan sukses karena direktori sumber kosong bukanlah cadangan yang berfungsi. Sinkronisasi yang selesai dengan sukses karena jaringan offline dan loop retry berhenti diam-diam bukanlah sinkronisasi yang berfungsi. Tugas rebuild-search-index yang selesai dengan sukses karena daemon tidak aktif dan klien mengembalikan respons kosong bukanlah rebuild yang berfungsi.
Perbaikannya dua lapis: pekerjaan mengirim heartbeat hanya setelah menyelesaikan pekerjaan aktualnya (bukan hanya setelah dimulai), dan monitor mengingatkan ketika heartbeat hilang. Tidak ada yang lain dalam tumpukan jadwal yang menangkap mode “diam-diam tidak melakukan apa-apa”. Task Scheduler tidak akan. Cron tidak akan. Windows Event Log tidak akan.
Aplikasi
1. Healthchecks.io — dead-man switch terbaik dengan opsi self-hosted
Healthchecks.io adalah implementasi referensi pola dead-man-switch. Setiap tugas terjadwal mendapatkan URL unik, tugas menghubungi URL itu di akhir berjalan berhasil, dan Healthchecks mengingatkan jika ping tidak tiba dalam jendela yang diharapkan. Grace period per-cek, ping-with-exit-code (jadi curl $URL/fail menandai cek sebagai gagal secara eksplisit), dan jadwal per-cek yang dinyatakan sebagai interval sederhana atau ekspresi cron penuh. Slack, Discord, PagerDuty, Gotify, ntfy, email, SMS, webhook, dan sekitar dua puluh saluran peringatan lainnya.
Di mana itu jatuh pendek: Tingkat gratis yang dihosting terbatas pada 20 cek; rumah tangga dengan permukaan otomasi besar akan melampaui itu. Self-hosting memperbaiki itu tetapi menambah layanan untuk dipertahankan.
Platform: Host Linux/Docker apa pun untuk self-hosted. Tingkat yang dihosting berfungsi dari apa pun yang dapat membuat permintaan HTTP.
Unduh: Healthchecks.io install
Garis bawah: Default yang tepat untuk heartbeat tugas terjadwal di server rumah.
2. Cronitor — telemetri cron lengkap terbaik dengan statistik per-pekerjaan
Cronitor melampaui heartbeat dan menangkap gambaran runtime penuh — berapa lama pekerjaan berlangsung, kode keluar, stdout dan stderr, grafik komparatif di seluruh run, dan mengingatkan pada perubahan salah satu dari ini. Bungkus pekerjaan di CLI Cronitor atau ping URL langsung saat mulai, akhir, dan gagal. Dashboard ditujukan untuk tim; rumah tangga yang menggunakan setengah fitur masih akan mendapat nilai dari grafik runtime saja.
Di mana itu jatuh pendek: Hanya dihosting — tidak ada jalur self-hosted. Tingkat gratis adalah 5 monitor, yang cepat terisi di server yang sibuk.
Platform: Host apa pun yang dapat membuat HTTPS keluar. CLI wrapper untuk Linux, macOS, Windows.
Unduh: Cronitor download
Garis bawah: Pilihan yang tepat ketika Anda menginginkan grafik runtime per-pekerjaan dan nyaman dengan layanan yang dihosting.
3. Dead Man’s Snitch — layanan heartbeat tugas terjadwal asli terbaik
Dead Man’s Snitch mempopulerkan pola dan tetap menjadi salah satu cara termudah untuk menangkap kegagalan diam-diam. Buat snitch, dapatkan URL, buat pekerjaan menekan URL itu, dapatkan email jika URL tidak diping dalam interval. Itulah seluruh produk. Ketika “apakah ada yang perlu lebih rumit dari ini?” adalah pertanyaan yang benar, Dead Man’s Snitch adalah jawaban yang jujur.
Di mana itu jatuh pendek: Tingkat gratis adalah satu snitch — cukup untuk melindungi satu pekerjaan kritis dan tidak lebih. Kedalaman fitur tertinggal di belakang Healthchecks dan Cronitor.
Platform: Host apa pun yang dapat membuat HTTPS keluar.
Unduh: Dead Man’s Snitch signup
Garis bawah: Pilihan yang tepat ketika peringatan “cadangan tidak berjalan” adalah satu-satunya hasil yang perlu Anda lindungi.
4. Uptime Kuma — monitor uptime self-hosted terbaik dengan mode push
Uptime Kuma adalah monitor uptime self-hosted yang berkembang mode push yang tepat bersama probe HTTP dan TCP-nya. UI point-and-click, sebagian besar saluran peringatan yang peduli orang, halaman status per-cek, dan model “cek didorong dalam X detik” yang sama seperti Healthchecks. Jika server rumah sudah menjalankan Uptime Kuma untuk tumpukan media, menambahkan heartbeat pekerjaan cron ke dashboard yang sama membutuhkan beberapa klik.
Di mana itu jatuh pendek: Dukungan mode push lebih baru dari probe mode pull dan di mana tepinya lebih kasar. Kurang khusus pada kasus penggunaan heartbeat cron daripada Healthchecks.
Platform: Linux (Docker), Windows, macOS.
Unduh: Uptime Kuma install
Garis bawah: Pilihan yang tepat ketika rumah tangga sudah menjalankan Uptime Kuma dan tidak menginginkan dashboard lain.
5. Prometheus Node Exporter — metrik terbaik untuk status systemd timer
Prometheus Node Exporter mengirimkan kolektor untuk status unit dan timer systemd. Dikombinasikan dengan Prometheus dan Alertmanager, Anda dapat membuat grafik “kapan timer ini terakhir kali berhasil,” mengingatkan pada “tidak ada berjalan berhasil dalam N menit terakhir,” dan berkorelasi dengan metrik sistem luas (CPU, disk, jaringan). Ini adalah pendekatan kekuatan industri; berlebihan untuk rumah tangga, bentuk yang tepat untuk siapa pun yang sudah menjalankan Prometheus.
Di mana itu jatuh pendek: Memerlukan seluruh tumpukan Prometheus untuk berguna — itu infrastruktur nyata, bukan instalasi lima menit. Systemd-spesifik untuk kolektor timer; pekerjaan cron memerlukan pendekatan berbeda.
Platform: Linux, Windows, macOS, FreeBSD.
Unduh: Prometheus Node Exporter releases
Garis bawah: Pilihan yang tepat ketika Prometheus sudah menjadi penyimpan metrik di lab rumah.
6. systemd — deteksi kegagalan asli terbaik di Linux
systemd pada Linux modern memiliki lebih banyak penanganan kegagalan bawaan daripada yang disadari oleh sebagian besar migran cron. Unit dengan OnFailure= memicu unit lain ketika gagal, yang dapat berupa skrip mail, webhook, atau skrip yang melakukan ping Healthchecks. systemctl list-timers menunjukkan jadwal dan berjalan terakhir, dan systemctl status <unit> menunjukkan kode keluar dan ekor log. Bagi siapa pun sudah di timer systemd, setengah pemantauan sudah ada di kotak.
Di mana itu jatuh pendek: Hanya memberi tahu Anda ketika proses gagal, bukan ketika hasil gagal. Skrip cadangan yang selesai tetapi tidak melakukan apa pun yang berguna terlihat hijau untuk systemd.
Platform: Linux (distro berbasis systemd).
Unduh: systemd resources
Garis bawah: Minimum yang tepat pada server Linux apa pun yang menjalankan timer systemd.
7. Gotify — server notifikasi push self-hosted terbaik
Gotify adalah server Go kecil yang mengubah permintaan HTTP apa pun menjadi notifikasi push Android. Dengan sendirinya tidak mendeteksi kegagalan; dikombinasikan dengan salah satu alat di atas, itu menjadi cara peringatan benar-benar menjangkau ponsel tanpa bergantung pada Firebase Cloud Messaging atau layanan notifikasi pihak ketiga. Ideal untuk rumah tangga di mana saluran peringatan harus sePrivate sebagai server yang dipantau.
Di mana itu jatuh pendek: Bukan monitor dengan sendirinya. Memerlukan aplikasi Android dipasang di ponsel penerima; dukungan iOS bergantung pada ntfy atau serupa daripada aplikasi Gotify sendiri.
Platform: Linux (Docker), Windows, macOS, FreeBSD.
Unduh: Gotify install
Garis bawah: Server notifikasi push last-mile yang tepat untuk tumpukan peringatan self-hosted.
Cara memilih yang benar
- Jika Anda menginginkan dead-man switch yang bekerja hari ini: Healthchecks.io (self-host setelah tumbuh melampaui 20 cek).
- Jika Anda menginginkan telemetri runtime per-pekerjaan dan nyaman dengan layanan yang dihosting: Cronitor.
- Jika Anda hanya perlu melindungi satu pekerjaan kritis: Dead Man’s Snitch.
- Jika server rumah sudah menjalankan Uptime Kuma: Uptime Kuma.
- Jika Prometheus sudah menjadi penyimpan metrik: Prometheus Node Exporter.
- Jika server Linux menjalankan timer systemd dan Anda menginginkan pemantauan bawaan: systemd.
- Jika Anda menginginkan peringatan untuk menjangkau ponsel rumah tangga tanpa melalui layanan push pihak ketiga: Gotify.
Untuk sebagian besar lab rumah, kombinasi kerja adalah Healthchecks (self-hosted) sebagai dead-man switch, terhubung ke Gotify untuk push ponsel dan email sebagai fallback. Apa pun yang berjalan sebagai timer systemd mendapatkan unit OnFailure= yang melakukan ping endpoint Healthchecks yang sama pada kegagalan sehingga dua sinyal berkorelasi.
FAQ
Apa perbedaan antara heartbeat dan health check?
Heartbeat adalah pekerjaan mengatakan “saya berjalan dan berhasil.” Health check adalah monitor yang menyelidiki layanan untuk melihat apakah ia merespons. Heartbeat menangkap kegagalan tugas terjadwal yang diam; health check menangkap kegagalan layanan runtime. Anda ingin keduanya.
Di mana saya harus mengirim peringatan?
Di suatu tempat di luar mesin yang dipantau. Email bagus sebagai fallback tetapi tidak boleh menjadi saluran satu-satunya — jika mesin yang menjalankan email adalah mesin yang gagal, peringatan tidak pernah pergi. Lapis email ditambah push ponsel (ntfy, Gotify, Pushover) ditambah saluran obrolan (webhook Discord, Slack) untuk pekerjaan prioritas tinggi.
Bagaimana cara menambahkan heartbeat ke pekerjaan Windows Task Scheduler?
Bungkus tindakan dalam skrip PowerShell kecil yang menjalankan tugas nyata, memeriksa kode keluar, dan memanggil Invoke-WebRequest terhadap URL Healthchecks atau Cronitor hanya ketika semuanya berhasil. Kait “jalankan ini saat selesai” Task Scheduler tidak membedakan kesuksesan dan kegagalan dengan bersih, jadi lakukan di skrip.
Apakah systemd benar-benar cukup untuk pemantauan Linux?
Untuk “apakah proses mogok?” — ya. Untuk “apakah hasil terjadi?” — tidak. Gabungkan OnFailure= systemd dengan heartbeat yang dikirim pekerjaan hanya setelah pekerjaan aktualnya selesai untuk gambaran lengkap.
Haruskah saya masih memantau cron itu sendiri?
Ya. Cron dapat berjalan dan sehat sementara pekerjaan individual diam-diam berhenti menembak (sintaks crontab buruk, perubahan izin, pengguna yang hilang). Uptime Kuma atau Healthchecks juga dapat memantau waktu berjalan terakhir cron di server rumah; jika itu basi, cron itulah yang membutuhkan perhatian.