Crontabの5つのアスタリスクは何を意味するのか?(システムスケジューリングの基礎)
サーバーを管理する際、定期的に実行する必要があるタスクが常にあります。
ログファイルのクリーンアップ、データベースのバックアップ、メールの送信などが典型的な例です。Linux環境では、これらのタスクをスケジュールするための標準ツールは Cron です。
しかし、初心者にとって、Cron式は暗号のように見えるかもしれません。
* * * * *
これら5つのアスタリスクが何を意味するのかを解読し、いくつかの一般的な落とし穴について説明しましょう。
1. Crontab構文の構造
標準的なLinuxのCron式は5つのフィールドで構成されています。
* * * * *
分 時 日 月 曜日
(0-59) (0-23) (1-31) (1-12) (0-7)
- 分: 0 から 59
- 時: 0 から 23
- 日: 1 から 31
- 月: 1 から 12
- 曜日: 0 から 7 (0と7の両方が日曜日を表し、1=月曜日...)
2. 特殊文字の魔法
単純な数字以外にも、特殊文字を使用して柔軟なスケジューリングが可能です。
*(アスタリスク): すべての値(毎分、毎時...),(カンマ): 値のリスト(例:1,3,5-> 1、3、5に実行)-(ハイフン): 範囲(例:1-5-> 1から5まで実行)/(スラッシュ): ステップ値(例:*/10-> 10単位ごとに実行)
例
30 04 * * *: 毎日午前04:30に実行。*/15 * * * *: 15分ごとに実行(0, 15, 30, 45)。0 9 * * 1-5: 平日(月〜金)の午前09:00に実行。
3. よくある間違い:「日」と「曜日」
Crontab設定で最も混乱しやすい部分は、「日」 フィールドと 「曜日」 フィールドの相互作用です。
両方のフィールドに特定の値(* ではない)が設定されている場合、コマンドは いずれか の条件が満たされたときに実行されます(OR条件)。
例えば:
0 0 1,15 * 5
これは「毎月1日と15日」および「毎週金曜日」に実行されます。(「1日または15日に該当する金曜日のみ実行」という意味ではありません!)
結論
Cronはシンプルですが強力なツールです。
しかし、誤って設定されたCronジョブは、サーバーリソースを枯渇させたり、重要なバックアップを見逃したりする原因になります。
複雑なスケジューリングが必要な場合は、常にオンラインのCrontabジェネレーターを使用して式を確認するか、JenkinsやAirflowのような専門的なスケジューリングツールの導入を検討してください。
TechLinuxCronDevOps
関連ツールを見る
Pockitの無料開発者ツールを試してみましょう
PDFエディター(署名・編集)
ブラウザだけでPDFを編集・署名できます。ソフトのインストールは不要、重要な書類もサーバーに送らず安全に書き込めます。
使ってみる
PDF結合
散らばった書類をひとつにまとめましょう。ドラッグ&ドロップで順番を決め、安全かつ瞬時にPDFを結合します。
使ってみる
Crontab生成
定期実行をミスなく設定。難解なCrontab記述を視覚的に作成し、スケジュールの意図を明確にします。
使ってみる
テキスト比較 (Diff)
変更点を逃さずチェック。2つのテキストを並べて比較し、追加・削除された部分を色分けして表示します。
使ってみる
画像Base64変換ツール
画像をBase64文字列に即変換。PNG、JPG、GIFをData URIまたは純Base64にエンコードしてHTML/CSSに直接埋め込み。サーバーアップロード不要、ブラウザで安全に処理。
使ってみる
Base64画像デコーダー
Base64文字列を画像に即デコード。Data URIをPNG、JPG、SVGファイルでダウンロード。APIレスポンス画像確認、JWT画像抽出に最適。サーバーアップロード不要でブラウザ処理。
使ってみる