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

当ページのリンクには広告が含まれています。
cron入門|コマンドを自動・定期実行する方法をやさしく解説

UNIX Cafe | 第14回

毎朝カフェを開く魔法 ─ 時間で動くスクリプト

目次

はじめに|朝、カフェが自動で開いたら…

ミナちゃん

ユニ先生〜💦 最近、毎朝カフェを開けるのがちょっと大変なんです。
ログを取って、バックアップをして… いつも同じことのくり返しで。

ユニ先生

ふふっ、それは“手動カフェ”の典型だね。
でも大丈夫。UNIXには、時間でスクリプトを動かす“魔法のタイマー”があるんだ。

ミナちゃん

魔法のタイマー? なんだか便利そうですね!
それを使えば、朝の開店作業が自動でできるんですか?

ユニ先生

その通り。その仕組みの名前は── cron(クロン)
“カフェの目覚まし時計”みたいなものなんだよ。

cronってなに?

ミナちゃん

cron…聞いたことはあるけど、どうやって使うんですか?

ユニ先生

簡単だよ。
cronは、指定した時間にスクリプトを自動で実行してくれる。つまり「毎朝7時にカフェを開ける」「夜9時に閉める」なんてこともできるんだ。

スクリプトファイルを作る

/home/username/この部分を自分のユーザー名に書き換えてください。

#!/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 "ログに開店記録を残しました☕"
ミナちゃん

ファイル名は「open_cafe.sh」にして保存し、実行権限をつけましょう。

ユニ先生

Linux:/home/username/macOS:/Users/username/ の部分は自分の環境に合わせて変更してくださいね。

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

bash
$ chmod +x open_cafe.sh
ユニ先生

「open_cafe.sh」を保存して、実行権限をつけておこう。
次に、cronに「毎朝7時にこれを実行してね」とお願いすればいいんだ。

ミナちゃん

なるほど〜、じゃあcronがカフェの“朝番スタッフ”になるんですね。

cronの設定をしてみよう!

ユニ先生

では、実際に設定してみよう。
設定用のファイルを開くにはこのコマンドだよ。

cron設定ファイルを開く

bash
$ crontab -e

crontabに次の一行を追加する (毎日7時00分に実行する)

/home/username/この部分を自分のユーザー名に書き換えてください。

0 7 * * * /home/username/unix_cafe/open_cafe.sh
ミナちゃん

えっ、この「0 7 * * *」ってなんですか?
なんだか暗号みたいです💦

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

👉 毎朝7時に open_cafe.sh を自動実行する設定です。

ユニ先生

ふふっ、最初はそう見えるよね。
これは「分・時・日・月・曜日」を表してるんだ。
つまり“毎日7時00分に実行”という意味さ。

Try it!|自動開店スクリプトを動かしてみよう

cron設定ファイルを開いて、crontabに次の一行を追加する

テスト用に毎分ごとに実行する設定にしています。

/home/username/この部分を自分のユーザー名に書き換えてください。

* * * * * /home/username/unix_cafe/open_cafe.sh
ミナちゃん

この「* * * * *」が毎分ごとに実行っていう意味なんですね。

ユニ先生

そうだね。でも実験用だから、テストが終わったら設定ファイルから消しておいてね。

vi を使ってcron のログを確認する

bash
$ vi ./unix_cafe/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 -----------------------------

cat を使ってcron のログを確認する

bash
$ cat /home/username/cafe_log.txt
🌅 2025-10-26 10:01:32 カフェを開けます☕
 今日も元気にスタート!
-----------------------------
🌅 2025-10-26 10:24:00 カフェを開けます☕
 今日も元気にスタート!
-----------------------------
🌅 2025-10-26 10:25:00 カフェを開けます☕
 今日も元気にスタート!
-----------------------------
🌅 2025-10-26 10:26:01 カフェを開けます☕
 今日も元気にスタート!
-----------------------------
 今日も元気にスタート!
-----------------------------
ミナちゃん

これで明日の朝、自動でカフェが開くんですね!
なんだかちょっとワクワクします。

ユニ先生

そうだね。
cronを使えば、スクリプトが“時間の仲間”になる。
君がまだ夢の中でも、カフェはちゃんと動き始めるんだ。

コーヒーブレイク:ユニ先生のひとこと

cronは“カフェの開店ベル”みたいなもの。
時間を決めておけば、スクリプトも君も遅刻知らず。

ページのまとめ

  • crontab -e :cron設定を編集
  • crontab -l :設定を確認
  • 0 7 * * * :毎朝7時に実行
  • * * * * :毎分実行(テスト用)
  • username :ご自身の環境に合わせて変更して下さい。
ミナちゃん

今日は“時間で動くスクリプト”を初体験しました!
cronって本当に便利ですね。
これで朝も余裕を持ってコーヒーを淹れられそうです。

ユニ先生

ふふっ、それが自動化のいいところさ。
時間を味方につければ、君の一日がもっと軽やかになるよ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次