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

初心者向けcronの使い方

More than 5 years have passed since last update.

unix系OSでは定期的にコマンドを実行するためにcronと呼ばれるデーモンプロセスがあります。決まった時間にログを集計してメールで送るなどの使い方ができて非常に便利です。ここではクーロンの設定方法についてメモを残しておきます。

1.設定方法

cronの設定ファイルはcrontab -eで編集できます。次のような書式で実行するタイミングとコマンドを設定します。

分 時 日 月 曜日 コマンド
*  *  *  *  *  some_command

指定できる値は下記のようになります。

指定対象 指定範囲
0〜59
0〜23
1〜31
1〜12 または jan〜dec
曜日 0〜7 または sun〜sat

cronはユーザごとに設定できます。crontab -eで上記のようにcronを設定すると、設定した時のユーザが実行ユーザになります。当たり前ですが、使用するファイルやスクリプトの権限によっては実行できないことがあるので注意しましょう。

またcronは指定がなければ、実行ユーザのホームディレクトリでコマンドを実行します。スクリプトの作りによっては事前にディレクトリを移動しておく必要があるかも知れないので注意しましょう。

* * * * * cd some_directory; some_command

2.実行例

例えば、毎日6時30分にディスクの容量がどれだけ使用されているか知りたいときには次のように記入します。

30 6 * * * df -h

この例では毎曜日、毎月、毎日、6時、30分にdf -hを実行する、という設定になります。*は分に指定すると1分毎、時間に設定すると1時間毎という風に、各単位毎に実行するという意味になります。

10分毎にコマンドを実行したい場合には次のように指定します。

*/10 * * * * df -h

*/xxとすることで毎xxの単位で実行するという意味になります。

3.その他

3.1.メールについて

デフォルトではcronでコマンドが実行される毎に、実行したユーザにコマンド実行時の標準出力、標準エラー出力がメールされます。出力結果をメールしてほしくない場合には環境変数MAILTOを次のように設定します。

MAILTO=''
30 6 * * * df -h

標準出力に出力された結果を別のメールアドレスで受け取り場合には次のように指定します。

MAILTO='someone@somedomain'
30 6 * * * df -h
tossh
よくいるいるめがね族。
http://bochibochibocchi0095.hatenablog.com/
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
ユーザーは見つかりませんでした