Phase B-0 試運転ログ(05-21)— cron が動いていなかった話

2026-05-21

どんなズレがあったのか

1. cron が動く時刻がずれていた

設定ファイルには 0 3 * * X と書かれていました。これは「毎週 X 曜日の 03:00 に実行する」という意味です。確認の結果、実際の処理は JST(日本標準時)の深夜 03:00 に動いていた。想定していた時刻ではありませんでした。

VPS(仮想サーバー)そのもののタイムゾーンは JST、この点は問題なし。ただし、VPS の上で動くコンテナ(処理を隔離して動かすための箱のようなもの)の内部タイムゾーンは UTC(協定世界時)のままでした。

まとめると、3 つの層がありました。

  • VPS(サーバー本体):JST、問題なし
  • コンテナ(内部の処理環境):UTC、日付計算がズレていた
  • cron の設定値:深夜 03:00 固定、想定時刻と合っていなかった

2. DB への書き込みが含まれていなかった

cron のスケジュールには「データを取得するプログラム」しか入っていませんでした。取得した後に DB(データベース、データを保存する場所)へ書き込む処理が、スケジュールに組み込まれていなかった。

どう対応したか

物理確認で問題を整理した後、外部監査役の Antigravity に諮問しました。実行・判断・監査を別のエージェントに分けています。

監査の結果、修正方針が確定しました。方針が決まってからは順番通りに進めるだけ。遡って取得できていなかった分のデータを補完し、235 件のレコードが追加されました。

この日から変えたこと

体験から得た気づきを 2 点に整理しています。

「設定済み=正常稼働」は前提にしない

設定したことと、実際に意図通り動いていることは別の話です。設定ファイルの存在確認と、実際のプロセスの照合は定期的にやる必要があります。

環境は 1 枚ではなく、複数の層でできている

VPS / コンテナ / cron 設定値の 3 層がありました。それぞれの層で何が起きているかを区別して確認する習慣が、今後の設計に必要だと判断しました。

← cd ..