مشكلة cron أن شيئًا لا يحدث عند فشلها. لا تتعطل أي صفحة ولا يظهر أي خطأ؛ فقط لا تجد النسخة الاحتياطية عندما تحتاجها.
نمط نبضات القلب
امنح كل مهمة عنوان URL فريدًا. تستدعيه المهمة عند النجاح. يتوقع المراقب هذا الاستدعاء كل N ساعة؛ وإذا تأخر، تتلقى تنبيهًا.
Cron
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 https://hb.uptimepush.com/p/TOKENمؤقتات systemd
أضف ExecStartPost=/usr/bin/curl -fsS https://hb.uptimepush.com/p/TOKEN إلى وحدة الخدمة.
Kubernetes CronJob
ألحق استدعاء curl بأمر الحاوية باستخدام && حتى لا يُنفَّذ إلا عند النجاح.
GitHub Actions
أضف خطوة أخيرة تستدعي عنوان URL عبر curl، مع تخزين الرمز كسرّ (secret).
فترات السماح
حدّد فترة سماح أطول قليلًا من أطول تشغيل طبيعي للمهمة، حتى لا توقظك ليلة بطيئة بتنبيه.