cron

Posted by muchag | CRON,Tool | 2011-05-24 (火) 22:27:17

この度、cron を使うことになった。

まだまだわからないことが多いけど
せっかく学習したことをメモ。

【環境】
[Client OS] Windows XP SP2
[Tera Term] 4.69
[Server OS] 不明

 

ツール

先ずは、ツールより。
Tera Term
を利用した。
さくらへのシェル接続(SSH,Telnet)のやり方
 

設定ファイル
ファイル/ディレクトリ名 利用者 主な用途
/var/spool/cron/user 全ユーザ ユーザの自動タスク設定ファイル
/etc/crontab root 毎時、毎日、毎月、毎週の自動タスクのメイン設定ファイル
/etc/cron.hourly root 毎時実行される自動タスク設定ファイルを置くディレクトリ
/etc/cron.daily root 毎日実行される自動タスク設定ファイルを置くディレクトリ
/etc/cron.monthly root 毎月実行される自動タスク設定ファイルを置くディレクトリ
/etc/cron.weekly root 毎週実行される自動タスク設定ファイルを置くディレクトリ
/etc/cron.d root 上記以外の自動タスク設定ファイルを置くディレクトリ

 

crontab コマンド

Tera Term で接続した後、crontab コマンドにて
cron の設定を行う。

ユーザ名の指定は root ユーザのみ行える
 

表示
  1. crontab -l
  2.  
  3. crontab -l -u hoge // ユーザ名 hoge の設定ファイル

 

編集
  1. crontab -e
  2.  
  3. crontab -e -u hoge // ユーザ名 hoge の設定ファイル

 

削除
  1. crontab -r
  2.  
  3. crontab -r -u hoge // ユーザ名 hoge の設定ファイル

 

書式

cron は、1行に1つの命令を記述する。

  1. * * * * * command

* (アスタリスク)で日時の指定。
分・時・日・月・曜日の順 で5箇所ある。
* を指定すると単位時間当たり毎回実行、ということになる。

  1. 分 0~59 の数字で指定。* なら毎分実行
  2. 時 0~23 の数字で指定。* なら毎時実行
  3. 日 1~31 の数字で指定。* なら毎日実行
  4. 月 1~12 の数字、または jan~dec の文字で指定。* なら毎月実行
  5. 曜日 0~7 の数字(0,7 は共に日曜日、または sun~sat の文字で指定)。* なら毎曜日実行

 

複数の場合(数値の詳細書式)
リスト

例)0,10,30
 

範囲

例)1-6
 

リスト、範囲共存

例)5,10,30-45
 

インターバル(数値の詳細書式)

定期間隔を空けたい場合。
例1)分:20-50/5 -> 20,25,30,35,40,45,50
例2)日:5-24/6 -> 5,11,17,23
 

コマンド

環境変数は利用できない のでフルパス表記。
 
参考元サイト:cron の設定ガイド
 

入力手法

vi エディタと同様。
 
参考元サイト:vi エディタの使い方
 

試行

cron の command をテストで実行してみたい場合。

Tera Term のコマンドラインにて
command の部分を直書きして Enter ですぐ実行してくれる。
 

試行中の命令

試行中は Tera Term のカーソルが制御不能になるので
[ファイル]-[セッションの複製] で新しい画面を出せば
コマンドを利用できるようになる。

CRON,Tool | 2011-05-24 (火) 22:27:17 |