Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
18.  システムタスクのスケジュール設定 (手順) crontab ファイルの作成と編集 crontab ファイルを確認する方法  戻る   目次   次へ 
   
 

crontab ファイルの表示

crontab -l コマンドは、cat コマンドが他のファイルタイプの内容を表示するのとまったく同様に、使用しているユーザーの crontab ファイルの内容を表示します。このコマンドを使用するために、ディレクトリを (crontab ファイルが入っている) /var/spool/cron/crontabs に変更する必要はありません。

デフォルトでは、crontab -l コマンドは自分自身の crontab ファイルを表示します。他のユーザーの crontab ファイルは、スーパーユーザーでなければ表示できません。

crontab ファイルを表示する方法

  1. (省略可能) root または他のユーザーの crontab ファイルを表示する場合は、スーパーユーザーになります。

  2. 次のように入力して、crontab ファイルを表示します。

    $ crontab -l [username]

    username は、表示する crontab ファイルのユーザーのアカウント名を指定します。他のユーザーの crontab ファイルを表示するには、スーパーユーザーの権限が必要です。


    注意 - 誤ってオプションを指定しないで crontab コマンドを入力した場合は、使用しているエディタの中断文字を入力してください。この文字を入力すると、変更結果を保存せずに crontab コマンドを終了できます。この場合に変更結果を保存してファイルを終了すると、既存の crontab ファイルが空のファイルで上書きされます。


例 -- crontab ファイルを表示する

次の例で、どのように crontab -l コマンドを使用してユーザのデフォルトの crontab ファイル、root のデフォルトの crontab ファイル、他のユーザーの crontab ファイルを表示するかを示します。

$ crontab -l
13 13 * * * chmod g+w /home1/documents/*.book> /dev/null 2>&1
$ suPassword:
# crontab -l
#ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
#
# The root crontab should be used to perform accounting data collection.
#
# The rtc command is run to adjust the real time clock if and when
# daylight savings time changes.
#
10 3 * * * /usr/sbin/logadm
15 3 * * 0 /usr/lib/fs/nfs/nfsfind
1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1
30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
# crontab -l jones
13 13 * * * cp /home/jones/work_files /usr/backup/. > /dev/null 2>&1

crontab ファイルの削除

デフォルトでは、rm コマンドを使用して誤って crontab ファイルを削除してしまうことがないように、crontab ファイルは保護されています。crontab ファイルを削除する場合は、rm コマンドではなく crontab -r コマンドを使用してください。

デフォルトでは、crontab -r は、このコマンドを実行したユーザーの crontab を削除します。root またはその他のユーザーの crontab を削除するには、スーパーユーザーにならなければなりません。

このコマンドを使用するには、ディレクトリを (crontab ファイルが入っている) /var/spool/cron/crontabs に変更する必要はありません。

crontab ファイルを削除する方法

  1. (省略可能) root または他のユーザーの crontab ファイルを削除するには、スーパーユーザーになります。

  2. 次のように入力して、crontab ファイルを削除します。

    $ crontab -r [username]

    username は、削除する crontab ファイルのユーザーのアカウント名を指定します。他のユーザーの crontab ファイルを削除するには、スーパーユーザーの権限が必要です。


    注意 - 誤ってオプションを指定しないで crontab コマンドを入力した場合は、使用しているエディタの中断文字を入力してください。この文字を入力すると、変更結果を保存せずに crontab コマンドを終了できます。この場合に変更結果を保存してファイルを終了すると、既存の crontab ファイルが空のファイルで上書きされます。


  3. crontab ファイルが削除されたことを確認します。

    $ ls /var/spool/cron/crontabs

例 -- crontab ファイルを削除する

次の例では、ユーザー smithcrontab -r コマンドを使用して自分の crontab ファイルを削除します。

$ ls /var/spool/cron/crontabs
adm     jones     lp     root    smith    sys     uucp
$ crontab -r
$ ls /var/spool/cron/crontabs
adm     jones     lp     root    sys    uucp

crontab コマンドの使用制御

cron.denycron.allow という /etc/cron.d ディレクトリ内の 2 つのファイルを使用して、crontab の使用を制御できます。これらのファイルによって、指定したユーザーだけが、それぞれ自分の crontab ファイルの作成、編集、表示、または削除などの crontab コマンドのタスクを実行できるようにします。

cron.deny および cron.allow ファイルは、それぞれ 1 行に 1 ユーザー名が入ったリストからなります。これらの使用制御用ファイルは、次のように連携して機能を果たします。

  • cron.allow が存在する場合は、このファイルにリストされているユーザーだけが crontab ファイルを作成、編集、表示、または削除できます。

  • cron.allow が存在しない場合は、cron.deny にリストされているユーザーを除くすべてのユーザーが crontab ファイルの実行を依頼できます。

  • cron.allowcron.deny も存在しない場合は、root 以外は crontab コマンドを実行できません。

cron.denycron.allow ファイルを編集または作成するには、スーパーユーザーの権限が必要です。

Solaris ソフトウェアのインストール時に作成される cron.deny ファイルには、次のユーザー名が含まれます。

$ cat /etc/cron.d/cron.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess

デフォルトの cron.deny ファイル内のユーザー名は、いずれも crontab コマンドを使用できません。このファイルを編集して、crontab コマンドの使用を拒否したいユーザー名を追加できます。

デフォルトでは、cron.allow ファイルは提供されません。つまり、Solaris ソフトウェアをインストールした直後は、すべてのユーザー (デフォルトの cron.deny ファイルにリストされているユーザーを除く) が crontab コマンドを使用できます。cron.allow ファイルを作成した場合、そのユーザーだけが crontab コマンドを使用できます。

crontab の使用を拒否する方法

  1. スーパーユーザーになります。

  2. /etc/cron.d/cron.deny ファイルを編集し、crontab コマンドを使用させないユーザー名を 1 行に 1 つずつ追加します。

    daemon
    bin
    smtp
    nuucp
    listen
    nobody
    noaccess
    username1
    username2
    username3
    .
    .
    .
  3. /etc/cron.d/cron.deny ファイルを確認します。

    # cat /etc/cron.d/cron.deny
 
 
 
  戻る   目次   次へ