cron入門|コマンドを自動・定期実行する方法をやさしく解説|UNIX Cafe

当サイトでは、コンテンツの一部に広告を掲載しています。
cron入門|コマンドを自動・定期実行する方法をやさしく解説

UNIX Cafe | 第14回

目次

はじめに|cronで「時間に動くスクリプト」を作ろう

毎日同じ時間に行う作業は、意外と多いものです。

  • ログを記録する
  • バックアップを取る
  • サーバーの状態を確認する

こうした作業を 自動で、決まった時間に実行 できたら便利だと思いませんか?

UNIX / Linux には、そのための仕組みとして cron(クロン) が用意されています。
このページでは、cronの基本と、実際にスクリプトを自動実行する方法をやさしく解説します。

cronとは?|時間でコマンドを実行する仕組み

cron は、指定した日時に、指定したコマンドやスクリプトを自動実行する仕組みです。

たとえば、

  • 毎朝7時にスクリプトを実行
  • 毎日深夜にバックアップ
  • 5分ごとにログを取得

といった設定ができます。

cronは常にバックグラウンドで動作し、
人がログインしていなくても実行されるのが特徴です。

スクリプトを用意する|自動実行される処理を書く

まずは、cronから実行する シェルスクリプト を作成します。

open_cafe.sh(例)

#!/bin/bash
# ==============================
# ☕ UNIX Café|open_cafe.sh
# カフェの開店スクリプト
# ==============================

# 今日の日付とメッセージをログに追加
/bin/echo "🌅 $(/bin/date '+%Y-%m-%d %H:%M:%S') カフェを開けます☕" >> /home/username/cafe_log.txt
/bin/echo "☕ 今日も元気にスタート!" >> /home/username/cafe_log.txt
/bin/echo "-----------------------------" >> /home/username/cafe_log.txt

# 画面にもメッセージを表示
/bin/echo "🌞 おはようございます!カフェをオープンしました!"
/bin/echo "ログに開店記録を残しました☕"

📌 ポイント

  • /home/username/ は自分のユーザー名に置き換えてください
    • macOS:/Users/username/
  • cronでは フルパス指定 が基本です

ファイルに実行権限をつける

cronから実行するには、スクリプトに実行権限が必要です。

chmod +x open_cafe.sh

これでスクリプトの準備は完了です。

cronの設定を行う|crontabを編集する

cronの設定は crontab という専用ファイルで行います。

crontabを開く

crontab -e

初回はエディタの選択画面が表示されることがあります。

毎朝7時に実行する設定

以下の1行を crontab に追加します。

0 7 * * * /home/username/unix_cafe/open_cafe.sh

cronの書式(重要)

フィールド意味
00分(ちょうど)
7朝7時
*毎日
*毎月
曜日*すべての曜日

👉 毎日7時00分にスクリプトを実行 という意味になります。

動作確認|毎分実行でテストする

設定が正しいか確認するため、一時的に 毎分実行 にしてみます。

* * * * * /home/username/unix_cafe/open_cafe.sh

テストが終わったら、必ず削除してください。

ログを確認する

catで確認

cat /home/username/cafe_log.txt

viで確認

vi /home/username/cafe_log.txt

実行されるたびに、日時付きでログが追加されていれば成功です。

 19 -----------------------------
 20 🌅 2025-10-26 10:33:00 カフェを開けます☕
 21 ☕ 今日も元気にスタート!
 22 -----------------------------
 23 🌅 2025-10-26 10:34:00 カフェを開けます☕
 24 ☕ 今日も元気にスタート!
 25 -----------------------------
 26 🌅 2025-10-26 10:35:00 カフェを開けます☕
 27 ☕ 今日も元気にスタート!
 28 -----------------------------
 29 🌅 2025-10-26 10:36:00 カフェを開けます☕
 30 ☕ 今日も元気にスタート!
 31 -----------------------------
 32 🌅 2025-10-26 10:37:00 カフェを開けます☕
 33 ☕ 今日も元気にスタート!
 34 -----------------------------
 35 🌅 2025-10-26 10:38:00 カフェを開けます☕
 36 ☕ 今日も元気にスタート!
 37 -----------------------------

よくある注意点(初心者がつまずきやすい所)

  • cronは PATHが通っていない → /bin/echo のようにフルパス指定をする
  • 相対パスは使わない
  • 権限不足で実行できないケースが多い
  • ログを残すとトラブルシュートしやすい

まとめ|cronで「時間」を味方にする

  • cronは時間指定で自動実行できる仕組み
  • crontab -e で設定を編集
  • スクリプトは必ず実行権限を付ける
  • フルパス指定が安全

cronを使えるようになると、
「忘れない」「間違えない」「毎回同じ品質」 が手に入ります。

自動化は、UNIXを使う楽しさのひとつです。
まずは小さなスクリプトから、ぜひ試してみてください。

ミナちゃん

一度まとめてしまえば、
あとは名前を呼ぶだけで動いてくれるんですね。

さらに学びたいあなたへ

📘 用途ごとに選ぶ Linux のおすすめ本

あわせて読みたい
レベル・用途別おすすめ Linux 本リスト|UNIX Cafe UNIX Cafe | 第65回 Linux の世界には、「はじめて触る人」「コマンドを覚えはじめた人」「サーバーに挑戦したい人」と、さまざまな段階があります。そんなときに、自分...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe 編集部

UNIX Cafe は、むずかしい言葉をできるだけ使わず、物語を読むような気持ちで気軽に学べる場所です。
プログラミングは、アイデアをコンピューターに伝えるための「ことば」。
簡単な単語と文法を覚えることで、誰でもターミナルから便利なコマンドを使えるようになります。
コーヒーを片手に立ち寄るような気持ちで、やさしいプログラミングの世界を、
そっとのぞいてみてください。

目次