Zadania cron zawodzą po cichu. Skryptowi kopii zapasowej o 02:00 kończy się miejsce na dysku, eksport faktur rzuca wyjątek, serwer się restartuje, a crontab już nigdy się nie uruchamia. Nic nie przestaje działać, nic nie zwraca 500 i nikt niczego nie zauważa, dopóki klient nie poprosi o fakturę albo nie trzeba będzie przywrócić bazy danych.
Monitorowanie zadań cron informuje Cię, gdy zaplanowane zadanie się nie uruchomi, zakończy błędem lub trwa zbyt długo. Uptimecheck robi to za pomocą heartbeatów: zamiast sprawdzać Twoje zadanie z zewnątrz, to zadanie zgłasza się do nas.
Skonfiguruj monitor zadania cron w trzech krokach
Utwórz monitor zadania cron i podaj harmonogram, według którego działa Twoje zadanie: wyrażenie crontab, np. 0 3 * * * w Twojej strefie czasowej, albo prosty okres, np. co godzinę.Skopiuj adres URL pingu.Dodaj jedno żądanie na końcu zadania, po udanym wykonaniu pracy: backup.sh && curl -fsS https://your-ping-url.
Jeśli ping nie dotrze w oczekiwanym czasie powiększonym o wybrany okres karencji, od 1 minuty do 6 godzin, zadanie cron jest uznawane za niedziałające, a alerty trafiają na Twoje kanały. Gdy zadanie znów się uruchomi, przychodzi powiadomienie o przywróceniu. Nasz poradnik jak monitorować zadania cron omawia harmonogramy, okresy karencji i typowe błędy, a wyrażenia cron w praktyce pomagają ze składnią.
Więcej niż „uruchomiło się”
Start i zakończenie: wywołaj /start, gdy zadanie się zaczyna, i zwykły adres URL pingu, gdy się kończy, a zobaczysz, ile trwało każde uruchomienie.Maksymalny czas działania: dostaniesz alert, gdy rozpoczęte uruchomienie nie skończy się na czas, z limitem od 1 minuty do 24 godzin.Kody wyjścia: wywołaj /fail lub sam kod wyjścia, np. /1, aby od razu zgłosić błąd, zamiast czekać na ping, który nigdy nie nadejdzie.Output: wyślij POST-em output zadania, a pojawi się przy błędach i w alercie, więc przeczytasz komunikat błędu bez logowania się na serwer.
Co monitorować jako zadania cron
Kopie zapasowe baz danych i plików.Nocne importy, eksporty i generowanie raportów.Workery kolejek i zaplanowane zadania w Laravel, Rails lub Django.Skrypty odnawiania certyfikatów.Rozliczenia i wysyłkę faktur e-mailem.Synchronizację danych między systemami.
Pinguj po sukcesie albo wysyłaj kod wyjścia
Umieść żądanie zakończenia po wykonaniu pracy, połączone tak, aby uruchomiło się tylko wtedy, gdy zadanie zakończy się poprawnie. Zadanie, które się zaczyna, ale pada w połowie, pojawi się wtedy jako brakujące – i właśnie o tym chcesz wiedzieć. Jeszcze lepiej wysyłać kod wyjścia: backup.sh; curl -fsS https://your-ping-url/$? zgłasza sukces lub błąd w obu przypadkach, a błąd dociera w chwili, gdy wystąpi.
Zadania cron obok reszty Twojej infrastruktury
Nieudana kopia zapasowa to często objaw. Zapełnił się dysk, zrestartował się serwer bazy danych albo zmienił się rekord DNS. Zadania cron są na tym samym koncie co monitorowanie serwerów i monitorowanie dostępności, więc pełny dysk i pominięte zadanie widzisz obok siebie.
Heartbeaty nie tylko dla crona
Heartbeat może wysyłać wszystko, co działa według harmonogramu: zaplanowane zadanie w Windows, Kubernetes CronJob, workflow GitHub Actions, funkcja serverless uruchamiana timerem albo długo działający worker, który co kilka minut daje znać, że żyje. Jeśli coś potrafi wysłać żądanie HTTP, może powiedzieć Uptimecheck, że działa. Żądanie to zwykłe HTTPS, więc przechodzi przez większość firewalli bez dodatkowej konfiguracji.
Plan Start obejmuje 10 zadań cron, Professional 50, a Business 150. Alerty trafiają na e-mail, Slack, Microsoft Teams, Discord, Google Chat, Mattermost, Telegram, PagerDuty, ntfy, Pushover, webhooki i powiadomienia push w każdym planie.
Plany zaczynają się od 9 € miesięcznie przy płatności rocznej lub 12 € przy płatności miesięcznej, bez VAT. Szczegóły znajdziesz w cenniku. Możesz też rozpocząć 14-dniowy darmowy okres próbny bez karty.