「毎日同じ時間にスクリプトを動かしたい」「夜間に自動でデータバックアップしたい」
そんなときに役立つのが cron(クロン) です。
この記事では、Raspberry Piでのcronの使い方を初心者向けにわかりやすく解説します。
設定方法からトラブル対策まで、これを読めば自動化ができるようになります。
この記事の対象
cronとは?
- UNIX系OSに標準搭載されている「スケジュール実行機能」
- Raspberry Pi OSでも標準で利用可能
- バックアップやデータ取得などの自動化に最適
Raspberry PiでCronが使えるか確認する
crontab -l
初めて実行する場合は「no crontab for pi」と表示されますが、これはまだ設定がないだけで問題ありません。
cronが動いているか確認
はじめに、ラズパイのデフォルトでcronは動いていますが、一応以下を入力してEnterを押して下さい。
sudo systemctl status cron
「active (running)」になっていればOK。停止中なら起動します。
sudo systemctl start cron
sudo systemctl enable cron
基本の設定方法(crontabの編集)
編集は次のコマンドで行います。
crontab -e
初めての場合、エディタ選択が表示されるのでnano
を選ぶと簡単です。
以下の画面が編集画面になります。また、実行したいプログラムのパスを指定します。

cronの書式(分・時・日・月・曜日)
書式は以下の5フィールド+コマンドで構成されます。
分 時 日 月 曜日 コマンド
フィールド | 範囲 | 例 |
---|---|---|
分 | 0-59 | 0(0分) |
時 | 0-23 | 7(朝7時) |
日 | 1-31 | *(毎日) |
月 | 1-12 | 1(1月) |
曜日 | 0-7 | 0または7(日曜) |
特殊文字
*
:全て*/n
:n分ごと,
:複数指定-
:範囲指定
よく使う例(サンプル集)
1 毎日午前3時にスクリプト実行
0 3 * * * /home/pi/backup.sh
2 5分ごとに温度ログを取得
*/5 * * * * /home/pi/get_temp.py
3 毎週月曜の午前9時にメール送信
0 9 * * 1 /home/pi/send_report.sh
4 不要ファイル削除
0 4 * * 0 find /home/pi/logs -type f -mtime +30 -delete
以下は例になります。

動作させたいプログラムの日時、パスを指定したらctrl+xを押します。そしたらバッファの保存を聞かれます。「y」を押すと上記のようになります。
問題が無ければEnterを押して終了です。
ログの確認方法(動作確認)
cronは標準で出力を残しません。動作確認するにはログファイルを確認します。
journalctlで確認(推奨)
journalctl -u cron --since "1 hour ago"
標準出力/エラー出力を記録
crontabのコマンド末尾に追記:
0 3 * * * /home/pi/backup.sh >> /home/pi/backup.log 2>&1
トラブル対策
- PATHが通っていない → コマンドは絶対パスで書く
- 実行権限エラー →
chmod +x スクリプト名
- 環境変数が違う → スクリプト内でフルパスを指定
- Pythonスクリプトが動かない →
#!/usr/bin/python3
を先頭に記載
まとめ
- cronを使えばRaspberry Piで自動実行が可能
crontab -e
で編集、sudo systemctl status cron
で状態確認- 実行できない場合はPATHや権限を見直す
関連記事
おすすめの書籍
・Raspberry Pi はじめてガイド―[Raspberry Pi 4完全対応]
ラズパイ入門としてセットアップからサーバーとして使用する方法まで基礎的なことから応用まで紹介されているので一冊あると便利です。
・これ1冊でできる! ラズベリー・パイ 超入門
こちらも初期のセットアップから応用まで紹介されている入門書です。改訂を重ねており、内容も都度更新されているのも良く、おすすめの書籍です。
・みんなのRaspberry Pi入門
電子工作に重きを置かれている入門書です。カメラやモーターの動かし方などの基礎的なことが紹介されているので、これからラズパイで電子工作を行う方にはおすすめの書籍です。