cronジョブを監視する方法

cronジョブは静かに失敗します。ハートビート監視なら、実行漏れをアラートに変えられます。cron、systemdタイマー、Kubernetes、GitHub Actionsでの設定方法。

cronの問題は、失敗しても何も起こらないことです。ページがダウンすることも、エラーが表示されることもなく、必要なときにバックアップがただ存在しないのです。

ハートビートのパターン

各ジョブに固有のURLを割り当てます。ジョブは成功時にその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を実行する処理を追加し、トークンはシークレットとして保存します。

猶予期間

猶予期間はジョブの通常の最長実行時間よりやや長めに設定し、処理が遅い夜に呼び出されないようにしましょう。

あなたのサイトは眠りません。だから、あなたは眠れます。

数分で監視を開始。最初の10モニターは無料です。

無料で始める – カード不要 ↗