cronを試してみました

ちょっとcronに触る機会ができたので、メモしておきます。試すのは最も単純な、 ログインユーザーでログインユーザー実行のスクリプトを定期実行するパターンです。

まずはcrondのインストール、起動を確認する

cronの実行可能かどうかを調べます。
# /etc/rc.d/init.d/crond status 
crond (pid xxx) を実行中...
と表示されれば、使用可能です。動いていない場合は、 chkconfig等で crondが自動で起動する様にしてください。

自動起動したいスクリプトを準備する

今回はテスト用に、現在時刻をtest.txtに吐くだけの簡単なスクリプトを準備しました。
ファイル名:getdate.sh
#!/bin/bash 
#現在時刻日付をtest.txtに出力する。
date > test.txt
上記ファイルを以下のパスに置いておきます。
/home/ユーザー/getdate.sh
実行権限の付与を忘れずに。
$ chmod 755 /home/ユーザー/getdate.sh

自動実行の設定をする

自動実行の設定をします。 crontabで設定ファイルを記述します。
$ crontab -e
以下の様に設定ファイルを記述します。この記述に使われるのは、標準のテキストエディタですので、基本viです。
#メール処理は行わない 
MAILTO=""

#以下スケジューリング
#分 時 日 月 曜日 コマンド
#毎分 毎時 毎日 毎月 全ての曜日 にgetdate.shを実行する
0-59 * * * * /home/ユーザー/getdate.sh
分や時の指定の書き方は cronの設定ガイド:実行時間指定の書き方に詳しく書かれています。
記述をするとcronファイル読み込みプロセスが 毎分読み込みしてくれるようで、すぐ実行が開始されます。
ちなみにこの自動実行は、設定したユーザーがログインしている間だけでなく、他のユーザーでログインしているときもずっと実行され続けます。
便利ですね!

参考リンク

cronの設定ガイド
crontabの書き方