JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Solaris のシステム管理 (上級編)     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  端末とモデムの管理 (概要)

2.  端末とモデムの設定 (手順)

3.  サービスアクセス機能によるシリアルポートの管理 (手順)

4.  システム資源の管理 (概要)

5.  システム情報の表示と変更 (手順)

6.  ディスク使用の管理 (手順)

7.  UFS 割り当て制限の管理 (手順)

8.  システムタスクのスケジュール設定 (手順)

crontab ファイルの作成と編集 (作業マップ)

システムタスクを自動的に実行する方法

繰り返されるジョブのスケジューリング (crontab)

1 つのジョブのスケジューリング (at)

繰り返されるシステムタスクのスケジューリング (cron)

crontab ファイルの内容

cron デーモンのスケジューリング管理

crontab ファイルエントリの構文

crontab ファイルの作成と編集

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

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

crontab ファイルの表示

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

crontab ファイルの削除

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

crontab コマンドの使用制御

crontab コマンドの使用を拒否する方法

crontab コマンドの使用を特定のユーザーに限定する方法

crontab コマンドの使用制限を確認する方法

at コマンドの使用 (作業マップ)

1 つのシステムタスクのスケジューリング (at)

at コマンドの説明

at コマンドの使用制御

at ジョブを作成する方法

at 待ち行列を表示する方法

at ジョブを確認する方法

at ジョブを表示する方法

at ジョブを削除する方法

at コマンドの使用を拒否する方法

at コマンドの使用の拒否を確認する方法

9.  システムアカウンティングの設定と管理 (手順)

10.  システムアカウンティング (リファレンス)

11.  システムパフォーマンスの管理 (概要)

12.  システムプロセスの管理 (手順)

13.  システムパフォーマンスの監視 (手順)

14.  ソフトウェアの問題解決 (概要)

15.  システムメッセージの管理

16.  コアファイルの管理 (手順)

17.  システムクラッシュ情報の管理 (手順)

18.  ソフトウェアで発生するさまざまな問題の解決 (手順)

19.  ファイルアクセスでの問題の解決 (手順)

20.  UFS ファイルシステムの不整合解決 (手順)

21.  ソフトウェアパッケージで発生する問題の解決 (手順)

索引

1 つのシステムタスクのスケジューリング (at)

以降の節では、at コマンドを使用して以下のタスクを実行する方法を説明します。

デフォルトでは、ユーザーはそれぞれ自分の at ジョブファイルを作成、表示、または削除できます。root または他のユーザーの at ファイルにアクセスするには、スーパーユーザーの権限が必要です。

at ジョブの実行を設定すると、ジョブ識別番号と .a 拡張子が与えられます。これがジョブのファイル名および待ち行列番号になります。

at コマンドの説明

at ジョブファイルを書き込むには、以下の手順を実行します。

  1. コマンド実行時刻を指定して at ユーティリティーを起動します。

  2. あとで実行させるコマンドまたはスクリプトを入力します。


    注 - このコマンドまたはスクリプトからの出力が重要な場合は、後で調べることができるように、出力内容を必ずファイルに書き込むようにしてください。


たとえば、次の at ジョブは、7 月 31 日の真夜中に smith ユーザーアカウントからコアファイルを削除します。

$ at 11:45pm July 31
at> rm /home/smith/*core*
at> Press Control-d
commands will be executed using /bin/csh
job 933486300.a at Tue Jul 31 23:45:00 2004

at コマンドの使用制御

特定のユーザーだけが自分の at ジョブに関する待ち行列情報を作成、削除、または表示できるように、at コマンドの使用を制御するファイルを設定できます。at コマンドの使用を制御するファイルは /etc/cron.d/at.deny です。ここにはユーザー名が列挙 (1 行に 1 人) されています。このファイルに列挙されているユーザーは、at コマンドを使用できません。

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

daemon
bin
smtp
nuucp
listen
nobody
noaccess

スーパーユーザーの特権があれば、at.deny ファイルを編集して、at の使用を制限したい他のユーザー名を追加できます。

at ジョブを作成する方法

  1. at ユーティリティーを起動して、ジョブを実行したい時間を指定します。
    $ at [-m] time [date] 
    -m

    ジョブ終了後にメールを送る

    time

    ジョブをスケジュールしたい時刻を指定する。24 時間制を使用しない場合は、am または pm を追加する。使用できるキーワードは、 midnightnoonnow。分単位の値の指定は省略可能

    date

    月または曜日の英語名の最初の 3 文字以上、またはキーワード today または tomorrow を指定する

  2. at プロンプトに、実行したいコマンドまたはスクリプトを 1 行に 1 つずつ入力します。

    各行の終わりで Return キーを押すことにより、複数のコマンドを入力できます。

  3. at ユーティリティーを終了し、Control-D キーを押して at ジョブを保存します。

    作成できた at ジョブは待ち行列番号を割り当てられ、それがそのジョブのファイル名にもなります。この番号は at ユーティリティーの終了時に表示されます。

例 8-7 at ジョブを作成する

次の例は、ユーザー jones が自分のバックアップファイルを 7:30 pm に削除するように作成した at ジョブを示しています。彼女は、ジョブの終了後にメールメッセージを受け取れるように -m オプションを使用しています。

$ at -m 1930
at> rm /home/jones/*.backup
at> Press Control-D
job 897355800.a at Thu Jul  12 19:30:00 2004

彼女は次のメールメッセージを受け取りました。このメッセージは at ジョブが終了したことを確認しています。

Your “at” job “rm /home/jones/*.backup”
completed.

次の例は、jones が土曜の午前 4 時に大規模な at ジョブをスケジュールする方法を示しています。ジョブの出力先は big.file という名前のファイルです。

$ at 4 am Saturday
at> sort -r /usr/dict/words > /export/home/jones/big.file

at 待ち行列を表示する方法

at ジョブを確認する方法

at ジョブを表示する方法

例 8-8 at ジョブを表示する

次の例は、at -l コマンドからの出力を示しています。このコマンドは、特定のユーザーが依頼したすべてのジョブに関する状態を表示します。

$ at -l
897543900.a    Sat Jul 14 23:45:00 2004
897355800.a    Thu Jul 12 19:30:00 2004
897732000.a    Tue Jul 17 04:00:00 2004

次の例は、at -l コマンドに 1 つのジョブを指定して表示された出力を示しています。

$ at -l 897732000.a
897732000.a        Tue Jul 17 04:00:00 2004

at ジョブを削除する方法

始める前に

root または他のユーザーの at ジョブを削除するには、スーパーユーザーになるか、同等の役割になります。役割には、認証と特権コマンドが含まれます。

自分の at ジョブを削除するには、スーパーユーザーまたは同等の役割になる必要はありません。

  1. 次のように入力して、at ジョブが実行される前に待ち行列から削除します。
    $ at -r [job-id]

    -r job-id オプションで、削除したいジョブの識別番号を指定します。

  2. at -l (または atq) コマンドを使用して、at ジョブが削除されていることを確認します。

    at -l コマンドは、at 待ち行列に残っているジョブを表示します。識別番号を指定したジョブは、このリストに表示されないはずです。

    $ at -l [job-id]

例 8-9 at ジョブを削除する

次の例では、ユーザーが 7 月 17 日の午前 4 時に実行されるようにスケジュールした at ジョブを削除しようとしています。まず、このユーザーは at 待ち行列を表示してそのジョブの識別番号を探します。次に、そのジョブを at 待ち行列から削除します。最後に、at 待ち行列をもう一度表示して上記のジョブが削除されていることを確認します。

$ at -l
897543900.a    Sat Jul 14 23:45:00 2003
897355800.a    Thu Jul 12 19:30:00 2003
897732000.a    Tue Jul 17 04:00:00 2003
$ at -r 897732000.a
$ at -l 897732000.a
at: 858142000.a: No such file or directory

at コマンドの使用を拒否する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。

  2. /etc/cron.d/at.deny ファイルを編集して、at コマンドを使用させないようにするユーザー名を 1 行に 1 つずつ追加します。
    daemon
    bin
    smtp
    nuucp
    listen
    nobody
    noaccess
    username1
    username2
    username3
    .
    .
    .

例 8-10 at の使用を拒否する

次の例は、ユーザー smithjonesat コマンドを使用できないように編集された at.deny ファイルです。

$ cat at.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess
jones
smith

at コマンドの使用の拒否を確認する方法