Solaris のシステム管理 (第 2 巻)

crontab ファイルの作成と編集

crontab ファイルの最も単純な作成方法は、crontab -e コマンドを使用して、EDITOR 環境変数によって定義されているテキストエディタを呼び出すものです。この変数を設定していない場合は、crontab はデフォルトのエディタ ed を使用します。EDITOR 環境変数に使い慣れたエディタを定義します。次の例は、エディタが定義されているかどうかを確認する方法と、vi をデフォルトとして設定する方法を示しています。


$ which $EDITOR
$ 
$ EDITOR=vi
$ export EDITOR

crontab ファイルを作成すると、自動的に /var/spool/cron/crontabs ディレクトリ内に格納され、作成者のユーザー名が命名されます。スーパーユーザー特権があれば、他のユーザーや root の crontab ファイルを作成または編集できます。

crontab コマンドエントリは、crontab ファイルエントリの構文」の説明に従って入力してください。

crontab ファイルを作成または編集する方法

  1. (省略可能) root または他のユーザーが所有する crontab ファイルを作成または編集する場合は、スーパーユーザーになります。

  2. 次のように入力して、新しい crontab ファイルを作成するか、既存の crontab ファイルを編集します。


    $ crontab -e [username]

    username

    他のユーザーのアカウント名。作成または編集するにはスーパーユーザーの権限が必要 


    注意 - 注意 -

    誤ってオプションを指定しないで crontab コマンドを入力した場合は、使用しているエディタの割り込みキーを押してください。割り込みキーを押すと、変更結果を保存しないでエディタを終了できます。この時点でファイルの編集を終了して変更結果を保存すると、既存の crontab ファイルが空のファイルで上書きされてしまいます。


  3. crontab ファイルエントリの構文」で説明している構文に従って、コマンド行を crontab ファイルに追加します。

    crontab ファイルは /var/spool/cron/crontabs に格納されます。

  4. crontab -l コマンドを使用して、crontab ファイルを確認します。


    # crontab -l [username]

例 - crontab ファイルを作成または編集する

次の例は、他のユーザーのための crontab ファイルをどのように作成するかを示します。


# crontab -e jones

新しい crontab ファイルに次のコマンドエントリを追加すると、毎日曜日の午前 1 時に、ユーザー jones のホームディレクトリから、すべてのログファイルが自動的に削除されます。このコマンドエントリは出力先を変更しないので、出力先変更文字がコマンド行の *.log の後に追加されて、そのコマンドが正しく実行されるようにしています。


# This command helps clean up user accounts.
1 0 * * 0 rm /home/jones/*.log > /dev/null 2>&1

crontab ファイルを確認する方法

特定のユーザーの crontab ファイルがあるかどうかを確認するには、/var/spool/cron/crontabs ディレクトリで ls -l コマンドを使用します。たとえば、次の表示はユーザー smithjonescrontab ファイルがあることを示しています。


$ ls -l /var/spool/cron/crontabs
-rw-r--r--  1 root     sys          190 Feb 26 16:23 adm
-rw-------  1 root     staff        225 Mar  1  9:19 jones
-rw-r--r--  1 root     root        1063 Feb 26 16:23 lp
-rw-r--r--  1 root     sys          441 Feb 26 16:25 root
-rw-------  1 root     staff         60 Mar  1  9:15 smith
-rw-r--r--  1 root     sys          308 Feb 26 16:23 sys

ユーザーの crontab ファイルの内容を確認するには、crontab -l を使用します。crontab ファイルを表示する方法」を参照してください。