Jak hlídat cron a zálohy, aby nepadaly potichu
Cron nikomu nenapíše, že záloha spadla. Pošle nanejvýš e-mail na lokální účet root, který nikdo nečte. Spolehlivější je otočit to: úloha po úspěšném dokončení dá vědět sama.
David Azarian · aktualizováno 26. 10. 2026 · 5 min čtení
Princip heartbeatu
Každá hlídaná úloha dostane unikátní adresu. Na konci úspěšného běhu ji zavolá. Monitorovací služba ví, jak často se má úloha ozývat, a když se neozve včas, spustí poplach. Výhodou je, že zachytíte všechny důvody selhání najednou: chybu ve skriptu, plný disk, vypnutý server i cron, který se po aktualizaci systému nespustil.
Příklad pro cron
Záloha databáze každou noc ve 2:00. Adresu zavoláme jen tehdy, když záloha skončí bez chyby, proto &&:
0 2 * * * /opt/zaloha/db.sh && curl -fsS -m 10 --retry 3 https://hb.night-shift.cz/vas-token > /dev/nullParametr -f zajistí, že curl při chybě serveru skončí neúspěchem, -m 10 omezí čekání na 10 sekund a --retry 3 zkusí požadavek znovu, když síť zrovna zakolísá.
Příklad pro systemd timer
U služby spouštěné časovačem systemd přidejte volání do ExecStartPost, které se spustí jen po úspěšném dokončení hlavního příkazu:
[Service]
Type=oneshot
ExecStart=/opt/zaloha/db.sh
ExecStartPost=/usr/bin/curl -fsS -m 10 --retry 3 https://hb.night-shift.cz/vas-tokenUvnitř aplikace
U importů a front, které běží v aplikaci, zavolejte adresu přímo z kódu po úspěšném dokončení. V PHP stačí:
file_get_contents('https://hb.night-shift.cz/vas-token');Ve WordPressu se WP-Cron spouští jen při návštěvě webu. Pro spolehlivé úlohy ho vypněte (DISABLE_WP_CRON) a spouštějte ze systémového cronu, ideálně i s heartbeatem.
Jak nastavit toleranci
Úloha nikdy neběží přesně stejně dlouho. U pravidelných úloh nastavte toleranci podle běžné délky běhu, u záloh spíš časové okno, ve kterém mají doběhnout. Příliš přísné nastavení vede k planým poplachům a ty vedou k tomu, že upozornění přestanete číst.
Další návody
- Údržba WordPressu: co dělat každý měsícPraktický checklist údržby WordPress webu: aktualizace pluginů a jádra, zálohy, zranitelnosti, administrátoři, PHP a rychlost. Co dělat jednou za měsíc a co průběžně.
- Web nejde. Co zkontrolovat jako prvníWeb nenačítá, hlásí chybu 500 nebo 503, nebo ukazuje varování o certifikátu? Postup, jak za pár minut zjistit, kde je problém a komu volat.