Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
399
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@hikouki

cronの設定方法

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コマンドを経由して実行ユーザーのメールボックスに送信されます。
  • 標準出力を別の場所に吐き出したい場合はリダクレクトすると良いです。
399
Help us understand the problem. What is going on with this article?
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
399
Help us understand the problem. What is going on with this article?