$ man context-wiki/cron-jobs

インフラストラクチャintermediate

Cron ジョブ

寝ている間に動くスケジュール自動化

by Shawn Tenam


Cron ジョブとは何か

Cron ジョブは、特定の時刻に自動で実行されるスケジュールタスクだ。一度設定すれば、あとは忘れていい。スケジュールとコマンドを定義する。システムがそのスケジュール通りに、手動介入なしで実行する。アラームも不要。リマインダーも不要。「トラッカーを実行するのを忘れた」もない。システムが処理する。パターンはシンプルだ。いつも手動でやるのを忘れてしまうことを自動化する。
コード

Cron 構文の読み方

Cron 構文は暗号的に見えるが、シンプルなパターンに従っている。5 つのフィールド:分、時、日、月、曜日。 0 20 * * * は「毎日午後 8 時に実行」を意味する。 0 9 * * 1 は「毎週月曜日の午前 9 時に実行」を意味する。 */30 * * * * は「30 分ごとに実行」を意味する。 0 0 1 * * は「毎月 1 日の深夜 0 時に実行」を意味する。 アスタリスクは「毎回」を意味する。数字は「この値のとき」を意味する。スラッシュは「N 間隔ごと」を意味する。いくつか読めば、パターンが掴める。暗記する必要はない。既存の Cron スケジュールを読む方法と、Claude に新しいものを書いてもらう方法さえ分かればいい。
プロのコツ

実際に使っている Cron ジョブ

デイリートラッカーは毎晩 8 時に実行される。git コミットをスキャンし、コンテンツの数を数え、アウトプットスコアを計算し、ダッシュボード画像を生成し、すべてを記録する。手動で実行することは一度もない。朝に結果を確認するだけだ。 ウェブサイトのコンテンツはスケジュールで自動更新される。ブログ記事、ログエントリー、バイタルデータが手動デプロイなしでリフレッシュされる。新しいコンテンツは自動的にコミットされプッシュされる。 Vercel への定期プッシュ。Cron ジョブが git push をトリガーし、Vercel がそれを検知してサイトを再ビルドする。コンテンツの変更は何も触らなくても公開される。 これらはすべて以前は忘れがちな手動タスクだった。今ではただ実行される。
パターン

Cron ジョブはどこで動くか

Cron ジョブは複数の場所で実行できる。ローカルマシン上(crontab)、サーバー上、Vercel 上(vercel.json の cron 設定)、GitHub Actions 上(スケジュールワークフロー)。 ウェブ関連の自動化には、Vercel cron と GitHub Actions が最も信頼性が高い。ノートパソコンを閉じていても動作する。ローカルの crontab は開発やテストには問題ないが、本番の自動化には向かない。 Vercel のアプローチ:vercel.json に cron 設定を追加し、ジョブを処理する API ルートを作成すれば、Vercel がスケジュール通りにトリガーする。GitHub Actions のアプローチ:スケジュールトリガー付きのワークフロー YAML を作成し、ステップを定義すれば、GitHub がスケジュール通りに実行する。どちらでも動く。Vercel はウェブプロジェクトにはシンプル。GitHub Actions は汎用的な自動化にはより柔軟。

knowledge guide
See "Context" in Knowledge See "Deploy" in Knowledge See "Cron" in Knowledge

関連記事
デプロイと VercelGTM エンジニアのための PythonGitHub リポジトリスキル
コンテキスト Wikiナレッジガイド
built with Next.js · Tailwind · Claude · Remotion