Help us understand the problem. What is going on with this article?

cronの設定方法

More than 3 years have passed since last update.

crontabでcronを操作

crontabコマンドでcronを操作します。

crontab [ -u ユーザ名 ] { -l | -r | -e }

[option]

-u: cronを設定するユーザーを指定
-l: cronを一覧で表示
-r: cronの設定を全消去
-e: cronを設定するエディタを起動する

cron設定手順

1. cronを設定するためのエディタを起動

-uオプションで指定したユーザーで
cronを設定したコマンドが実行されます。

crontab -u root -e

2. cronの設定を記述

以下の書式に従って記述します。

分 時 日 月 曜日 <実行コマンド>

固定指定

以下のように設定すると、15時になる度に実行されます。

0 15 * * * echo "hello."

間隔指定

間隔を指定したい場合は、以下のようにします。
例では、5分毎に実行されます。

*/5 * * * * echo "hello."

複数指定

複数時間を設定したい場合はカンマ(,)で区切ります。
例では、午前2時5分と午前2時10分に実行されます。

5,10 2 * * * echo "hello."

範囲指定

複数指定よりも範囲で指定した方がいい場合があります。
以下のようにすると、指定範囲で実行できます。
例では、午前2時5分、午前3時5分、午前4時5分、午前5時5分に実行されます。

5 2-5 * * * echo "hello."

上記の書式で記述後、保存してエディタを閉じると設定完了です。

設定ファイルの読み込み

cronの設定を記述したファイルを読み込むことで、cronを設定できます。

echo '*/5 * * * * echo "hello."' > cron.conf
crontab cron.conf

crontabで、-rオプションを誤ってつけてしまうと、設定が全て消去されてしまいます。
設定ファイルを読み込むことで、消してしまってもすぐに復旧でき、Gitなどでバージョン管理も行えます。

補足

  • cronで実行されるコマンドは、実行ユーザーのホームディレクトリで実行されます。(都合が悪い場合は、実行するコマンド内で、cdしましょう。)
  • cronの標準出力、標準出力エラーは、mailコマンドを経由して実行ユーザーのメールボックスに送信されます。
  • 標準出力を別の場所に吐き出したい場合はリダクレクトすると良いです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした