Skip to content
cronitorex.com

Monitoring zadań cron

Podstawowy wzorzec

Dodaj dwa pingi wokół komendy — jeden na starcie, jeden na końcu:

/etc/cron.d/my-app
*/5 * * * * root cronitorex ping my-job run && /opt/my-app/run.sh && cronitorex ping my-job complete || cronitorex ping my-job fail

Z trackowaniem exit code

wrapper.sh
#!/bin/bash
cronitorex ping db-backup run
pg_dump mydb | gzip > /backups/db-$(date +%Y%m%d).sql.gz
EXIT=$?
if [ $EXIT -eq 0 ]; then
cronitorex ping db-backup complete --duration $SECONDS
else
cronitorex ping db-backup fail --exit-code $EXIT
fi

Wpis w crontab

0 3 * * * root /usr/local/bin/wrapper.sh

Trackowanie duration

Podaj --duration w sekundach żeby mieć dane do wykresów w dashboardzie:

Okno terminala
START=$(date +%s)
/usr/local/bin/my-job.sh
DURATION=$(( $(date +%s) - START ))
cronitorex ping my-job complete --duration $DURATION

Ciche joby (bez outputu)

Przekieruj cały output, żeby cron nie wysyłał emaili:

0 * * * * root /usr/local/bin/wrapper.sh > /dev/null 2>&1