スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

定期的に自動実行させるcrontabの設定例

cron とは、ジョブを自動実行するためのデーモンプロセスです。CentOSの管理を行なう場合、バックアップなど、定期的に自動実行したいジョブが数多くあります。その自動実行を行ってくれるのが、cronです。windowsで言うところの、タスクスケジューラです。

先ず、このcronサービスが稼動しているかどうか、確認してみましょう。
CentOSの画面から[システム] - [管理] - [サービス]でサービスの設定画面を起動させ、crondがチェックされ、稼動中であることを確認します。稼動していなかったら、チェックを付けて開始ボタンを押下しましょう。

サービス管理画面


定期的に自動実行させるには、設定ファイルにその内容を記述してやる必要があります。設定ファイルには、以下の種類があります。

ディレクトリ/ファイル名 用途
/var/spool/cron/(ユーザ名) ユーザの自動タスク設定ファイル
/etc/crontab 毎時、毎日、毎月、毎週の自動タスクのメイン設定ファイル
/etc/cron.hourly 毎時実行される自動タスク設定ファイルを置くディレクトリ
/etc/cron.daily 毎日実行される自動タスク設定ファイルを置くディレクトリ
/etc/cron.monthly 毎月実行される自動タスク設定ファイルを置くディレクトリ
/etc/cron.weekly 毎週実行される自動タスク設定ファイルを置くディレクトリ


ここでは、/var/spool/cron/に置かれる設定ファイルについて説明します。CentOSの場合、デフォルテトでは、/var/spool/cron/配下に何も置かれていません。その為、設定ファイルを作る必要がありますが、次のようなコマンドを使って作ります。

# crontab -e



このコマンドを打つとデフォルトではviが起動し、編集します。
なお、viエディタについては、下記サイトが分かりやすいと思います。

viエディタの使い方

crontab -eを実行すると、CentOSデフォルトでは何も記載されていないので、まっさら状態です。そこに以下のような書式で記述していきます。

分 時 日 月 曜日 コマンド



具体的な設定例は次のページに記載しています。
■設定書式例

# 毎日午前3時30分にcommandを実行します。
30 3 * * * command

# 10分ごとにcommandを実行します。
*/10 * * * * command

# 1:00から 1:59まで 1分おきにcommandを実行します。
* 1 * * * command

# 3時間ごとにcommandを実行します。
0 */3 * * * command

# 毎週日曜日午前0時にcommandを実行します。
0 0 * * Sun command

# 毎月25日午前0時にcommandを実行します。
0 0 25 * * command

# 月曜日から金曜日の,午後18時にcommandを実行します。
0 18 * * mon-fri command

# 毎月 1日の 17:00から17:10まで 1分毎にcommandを実行します。
0-10 17 1 * * command

# 1月1日の午前0時にcommandを実行します。
0 0 1 jan * command



■設定したcrontabが動いているかどうかの確認方法
下記のファイルを開けば、実行されたcronのログが残っています。ただし、その実行されたコマンドがうまく動いているかどうか?は分かりません。

/var/log/cron


-実際のログ-

ul 9 09:01:01 localhost crond[24518]: (root) CMD (run-parts /etc/cron.hourly)
Jul 9 10:01:01 localhost crond[24620]: (root) CMD (run-parts /etc/cron.hourly)
Jul 9 11:01:01 localhost crond[24728]: (root) CMD (run-parts /etc/cron.hourly)
Jul 9 12:00:01 localhost crond[24833]: (develop) CMD (sh /home/develop/spider/bin/cmd.sh)
Jul 9 12:01:01 localhost crond[24853]: (root) CMD (run-parts /etc/cron.hourly)
Jul 9 13:01:01 localhost crond[24953]: (root) CMD (run-parts /etc/cron.hourly)
Jul 9 14:01:01 localhost crond[25055]: (root) CMD (run-parts /etc/cron.hourly)
Jul 9 15:00:01 localhost crond[25182]: (develop) CMD (sh /home/develop/spider/bin/cmd.sh)
Jul 9 15:01:01 localhost crond[25202]: (root) CMD (run-parts /etc/cron.hourly)
Jul 9 16:01:01 localhost crond[25302]: (root) CMD (run-parts /etc/cron.hourly)



■crontabのコマンドオプション
上記のcrontab -eのオプション以外に下記のものがあります。

オプション 用途
-e crontabを対話的に編集します。通常は、viエディタが起動して、設定ファイルの編集を行ないます。
-l crontabファイルの内容を表示します。
-r crontabファイルを削除します。
-u (ユーザ名) ユーザ名で指定したユーザのcrontabファイルを操作の対象とします。なお、このオプションは、rootユーザのみ使用できます。

テーマ : UNIX/Linux
ジャンル : コンピュータ

このエントリーをはてなブックマークに追加

コメントの投稿

非公開コメント

プロフィール

白鯖

Author:白鯖
安い寄せ集めの部品で構築し、CentOS5をインストールしました。主に、Webサーバ、アプリケーションサーバとして運用中。ハードの知識はあまり無いプログラマですが、全部自前で作るのは、手間はかかるけど、レン鯖より面白いです。

ハードウェア構成

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
Max TDP控え目なCPU
安くて静音なクーラー
検索フォーム
ユーザータグ
RSSフィード
はてな
スポンサード リンク
おすすめ書籍
twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。