コース一覧
シェル実践
cron で定期実行

シェル実践

シェルスクリプト、条件分岐、ループ、関数、ログ解析、システム管理を学び、定型作業を安全に自動化できるようにします。

1
シェルスクリプト入門
0. シェルスクリプトとは5分
1. 変数と引数5分
2. 条件分岐 if5分
3. ループ処理 for, while5分
4. 関数を定義する5分
5. 実践スクリプト作成5分
6. シェルスクリプトチェック5分
2
実践:ログ解析とシステム管理
0. ログファイルの解析5分
1. システム情報の取得5分
2. パッケージ管理5分
3. cron で定期実行5分
4. 開発環境での Linux 活用例5分
5. 総合チェック5分

シェル実践

01シェルスクリプトとは
02変数と引数
03条件分岐 if
04ループ処理 for, while
05関数を定義する
06実践スクリプト作成
07シェルスクリプトチェック
08ログファイルの解析
09システム情報の取得
10パッケージ管理
11cron で定期実行
12開発環境での Linux 活用例
13総合チェック

シェル実践

cron で定期実行

毎晩 3 時に起きて手で打つわけにいかない

バックアップも、証明書の更新も、動かすべき時刻は決まっているのに人は寝ています。決めた時刻にコマンドを叩いてくれる常駐の仕組みが cron です。

登録は 1 行です。左から 5 つの数字で時刻を、そのうしろに実行したいものを書きます。

ターミナル

# 分 時 日 月 曜 コマンド
0 3 * * * /usr/local/bin/backup.sh

* は「どれでも」という意味なので、この行は日付や曜日を問わず毎日 3 時 0 分に動きます。

位置意味範囲
1 つ目分0 から 59
2 つ目時0 から 23
3 つ目日1 から 31
4 つ目月1 から 12
5 つ目曜日0 から 7 で 0 と 7 が日曜

*/5 と書けば 5 分ごと、1-5 なら月曜から金曜、0,30 なら 0 分と 30 分の 2 回です。編集は crontab -e、いま登録されている内容の確認は crontab -l で行います。似た名前の crontab -r は登録を全部消す操作で、確認も出ません。打ち間違いで消えるので使わないでください。

手で打つと動くのに、cron からは動かない

いちばん多いつまずきがこれです。cron が起動するシェルは、ログインしたときのシェルとは別物で、.bashrc を読みません。使える PATH は最小限しか通っていないため、自分で入れたコマンドが見つかりません。

対策は 2 つあります。コマンドを絶対パスで書くこと、そして必要なら crontab の先頭で PATH を宣言することです。

ターミナル

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

0 3 * * * /usr/local/bin/backup.sh

時刻がずれる場合も同じ理由です。サーバーの時間帯が UTC のままなら、TZ=Asia/Tokyo を同じ位置に書いて明示します。

失敗しても、誰も気づかない

cron はコマンドの出力をローカルのメールへ送ろうとします。配送の設定がなければ、そのまま消えます。数か月動いていなかったバックアップに、必要になった日に気づくのはこのためです。

出力は必ずファイルに残します。

ターミナル

0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

>> で追記し、2>&1 でエラーの側も同じファイルに合流させます。

登録したら、いきなり本番の時刻で待たないでください。まず */1 * * * * の毎分で数分だけ動かし、ログに記録が増えることを確かめます。動いたと分かってから、本来の時刻に書き換えます。

生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2025/12/19·更新 2026/08/26

関連レッスン

  • 開発環境での Linux 活用例

    開発現場でLinuxがどのように活用されているか、具体的な例を通して学びます。

  • 総合チェック

    Linuxコマンドに関する理解度を測る総合チェックです。ここまでの学習内容を復習しましょう。

  • パッケージ管理

    Linuxでソフトウェアをインストール・アップデート・削除するためのパッケージ管理を学びます。

  • システム情報の取得

    Linuxのシステム名やカーネルバージョンなど、基本的なシステム情報を取得する方法を学びます。

分からないところは Tap (AI先生) に質問できます

24 時間いつでも、あなたのレベルに合わせて日本語で答えます。