「crontab」の版間の差分
(ページの作成:「crontab ('''クロンタブ''', クローンタブ、クーロンタブ)とは、個々のユーザの crontab ファイルをメンテナンスするコマンドで...」) |
(相違点なし)
|
2015年5月30日 (土) 13:02時点における最新版
crontab (クロンタブ, クローンタブ、クーロンタブ)とは、個々のユーザの crontab ファイルをメンテナンスするコマンドです。また、システムのコマンド実行スケジュールの /etc/crontab を指します。
読み方
- crontab
- くろんたぶ
- cron
- くろん
概要
cron(クロン,クーロン、クローン, /usr/sbin/cron)は、スケジュールされたコマンドを実行するためのデーモンプログラムです。cronデーモン自体は、/etc/rc や /etc/rc.local から起動されます。
cron は、 /etc/passwd のアカウント名から /var/cron/tabs で crontab ファイルを検索します。 crontab ファイルが見つかったら、メモリにロードします。 cron は、異なるフォーマットの /etc/crontab も検索します。
cron は、毎分起動され、すべての crontab を観察します。
crontabは、cronが実行する crontab のファイルの作成や削除、表示などを行えるコマンドです。
読み方
cronの発音は、クロンで良いですが、
- クロン
- クーロン
- クローン
などと呼ばれ、crontabも同様に、
- クロンタブ
- クーロンタブ
- クローンタブ
などと呼ばれます。
インストール
デフォルトで組み込まれています。
設定
crontab の利用を許しているユーザ、禁止しているユーザを設定できます。
- /var/cron/allow
- crontabの利用を許されたユーザのリスト
- /var/cron/deny
- :crontabの利用を禁止されたユーザのリスト
- /var/cron/tabs
- 個人のcrontabファイルのディレクトリ
使い方
コマンドラインオプション
usage: crontab [-u user] file crontab [-u user] { -e | -l | -r }
設定を表示する
crontab -l
現在のcrontabを削除する
crontab -r
現在のcrontabをエディタで編集する
VISUAL もしくは EDITOR 環境変数で指定されたエディタで現在のcrontabを編集します。編集後に、自動的に、変更されます。
crontab -e
他のユーザのcrontabの設定
-u オプションでほかのユーザの設定を確認できます。
sudo crontab -u foo -l
crontabの設定をバックアップする
crontabコマンドを使用して、crontabの設定をバックアップできます。
crontab -l > crontab.backup
crontabにファイルの内容を読み込む
crontab.txtの内容をcrontabコマンドで読み込むことができます。
crontab crontab.txt
crontabの書き方
crontabには、特殊な書式があります。何月何日何時何分に、なんのコマンドを実行する、などの設定をします。
毎分コマンドを実行する
* * * * * $HOME/bin/foo.sh
10分おきにコマンドを実行する
* */10 * * * $HOME/bin/foo.sh
毎晩夜中に一度だけコマンドを実行する
毎日、3時5分にコマンドを実行する例です。
5 3 * * * $HOME/bin/foo.sh
毎月一度だけコマンドを実行する
毎日、1日の3時5分にコマンドを実行する例です。
5 3 1 * * $HOME/bin/foo.sh
cronの出力を捨てる
良いか、悪いかは、別にして、cron で実行されたコマンドの出力がメールで送信されて困る場合などに、/dev/null に捨ててしまうことがあります。
5 3 1 * * $HOME/bin/foo.sh > /dev/null 2>&1
cronの出力をloggerコマンドに渡す
loggerコマンドでログファイルに記録する方法もあります。
5 3 1 * * $HOME/bin/foo.sh 2>&1 | logger -t mycron -p local0.info
cronの出力をfluentdに渡す
cronの出力をfluentdに渡す方法もあります。
5 3 1 * * $HOME/bin/foo.sh 2>&1 | fluent-agent-lite -f msg cron.command - fluentd-srv localhost
ログ
cronの実行結果は、/var/log/cron に記録されます。