JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 でのシステム情報、プロセス、およびパフォーマンスの管理     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  システム情報の管理 (タスク)

2.  システムプロセスの管理 (タスク)

3.  システムパフォーマンスの監視 (タスク)

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

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

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

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

システムタスクのスケジュール設定

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

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

crontab ファイルの内容

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

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

crontab ファイルの作成と編集

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

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

crontab ファイルの表示

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

crontab ファイルの削除

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

crontab コマンドの使用制御

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

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

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

at コマンドを使用したタスクのスケジューリング

at コマンドの使用 (タスクマップ)

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

at コマンドの説明

at コマンドの使用制御

at ジョブを作成する方法

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

at ジョブを確認する方法

at ジョブを表示する方法

at ジョブを削除する方法

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

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

5.  システムコンソール、端末デバイス、および電源サービスの管理 (タスク)

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

at コマンドを使用したタスクのスケジューリング

このセクションでは、at コマンドを使用してシステムタスクをスケジュールするタスクについて説明します。

at コマンドの使用 (タスクマップ)

タスク
説明
参照先
at ジョブを作成する

次のような目的には、at コマンドを使用する。

  • コマンド行から at ユーティリティーを起動する
  • 実行したいコマンドまたはスクリプトを、1 行に 1 つずつ入力する

  • at ユーティリティーを終了し、ジョブを保存する

at 待ち行列を表示する
atq コマンドを使用し、at 待ち行列を表示する
at ジョブを確認する
atq コマンドを使用し、特定のユーザーの at ジョブが待ち行列に入れられたかどうかを確認する
at ジョブを表示する
at -l [job-id] コマンドを使用し、待ち行列に入れられた at ジョブを表示する
at ジョブを削除する
at -r [job-id] コマンドを使用し、待ち行列から at ジョブを削除する
at コマンドの使用を拒否する
at コマンドの使用を拒否するには、 /etc/cron.d/at.deny ファイルを編集する

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 ユーティリティーの終了時に表示されます。

例 4-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 ジョブを表示する方法

例 4-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 ジョブを削除するには、root 役割になります。役割には、認証と特権コマンドが含まれます。『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

自分の at ジョブを削除する場合は、root 役割になる必要はありません。

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

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

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

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

    $ at -l [job-id]

例 4-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. root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

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

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

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

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

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