TOP(サイトマップ) | Solaris man マニュアル | |
(はじめに) はじめに Solarisって・・・ SunのセミナーとSDC Solaris 10概要 資格(SCSA,SCNA) Solarisフォーラム 管理人に連絡 (Solaris基本) Solarisのインストール システムの起動と停止 ファイルシステム オートマウントとマウント パッケージとパッチ ユーザの追加と削除 ファイル権限(セキュリティ) バックアップとリストア CDE環境 プロセス管理/監視 (ネットワーク管理) OSIを理解してみる TCP/IPの設定 (TCP/IP入門) DNSの設定 NISの設定 NFSの設定(WebNFS,CacheFS) (NIS、NIS+、DNS違い) DHCPの設定 1つのNICで複数IP設定 (IO関連) インタフェース概要 SAFの管理 プリンタ管理概要 プリンタコマンド SunSolve Online SCSI情報(KEY,ASC,ASCQ) (ソフトウェア関連) Bash Apache Solstice DiskSuite (SDS OSミラー回復) Veritas VxVM (OBPについて) PROM(OBP)の概要 OBPでのキーボード操作 一般的なOBPコマンド SolarisでOBPの設定 OBPに関するFAQ (トラブル時の対応) 基本情報 エラーメッセージ (主要メッセージ一覧) 性能関連コマンド トレースコマンド クラッシュダンプ SunSolve Online (その他) 小技集 UNIXコマンド (manマニュアル) システムチューニング ネットワークチューニング UltraSPARC T1について (FAQ) rootのPASSが不明 ハングアップかな? ハードトラブル OSが起動しない(b) swap領域の拡張方法 (リンク) Sun関連リンク その他リンク アバウトなJava入門 Perlメモ(逆引き用) |
ユーザーコマンド at(1) 【名前】 at, batch - 指定した時刻にコマンドを実行 【形式】 at [-c | -k | -s] [-m] [-f file] [-p project] [- q queuename] -t time at [-c | -k | -s] [-m] [-f file] [-p project] [- q queuename] timespec ... at -l [-p project] [-q queuename] [ at_job_id. ..] at -r at_job_id. .. batch [-p project] 【機能説明】 [at] at ユーティリティは、一群のコマンドを標準入力から読み込 み、 そ れを 1 つの at-job として統合し、指定された時刻に実行しま す。 この at-job は、あとでシェルを別途呼び出して実行します。この シェルは、別のプロセスグループで、制御端末なしで動作している ものです。ただし環境変数、現作業用ディレクトリ、ファイル生成 マ ス ク (umask(1))、システム資源の限界 (sh と ksh だけに適 用。詳しくは ulimit(1) を参照) については、at を実行した時点 のものが保持されて、at-job 実行時に使用されます。 at-job が投入されると、at_job_id と実行開始予定時刻が標準 エ ラー 出力に書き出されます。at_job_id は、at-job の識別子で、 英数字とピリオドだけで構成される文字列です。投入時点で、その ジョ ブが一意に識別できるような名前を at_job_id としてシステ ムが割り当てます。 ユーザーへの通知やジョブの標準出力の処理方法に関して は、 -m オプションの項で説明します。 at や batch ( 後 述 ) を 使 用 で き る の は、 ファ イ ル /usr/lib/cron/at.allow 中に名前が登録されているユーザーだけ です。このファイルが存在し て い な い 場 合 は、 ファ イ ル /usr/lib/cron/at.deny をアクセスして、そのユーザーの at 使用 を拒否すべきかどうかを決定します。どちらのファイルも存在しな いときは、solaris.jobs.user の承認を受けたユーザーだけがジョ ブを投入できます。at.deny だけが存在しその内容が空の場 合 に は、 どのユーザーもジョブを投入できます。at.allow と at.deny の両ファイルは、どちらも 1 行に 1 つのユーザー名という形式で す。 ユーザーアカウントがロックされていると、cron ジョブおよび at ジョ ブ は実行されません。shadow(4) で定義されているように、 ロックされていないアカウントだけが、ジョブまたはプロセスを実 行します。 [batch] batch ユーティリティは、あとで実行すべきコマンド群を読み込み ます。以下のコマンドと同じ意味を持ちます。 at -q b -m now このうち b は at の特殊な待ち行列で、バッチジョブ専用に使 用 します。バッチジョブは、バッチ待ち行列に投入されるとただちに 実行されます。 【オプション】 以下のオプションを指定できます。シェルの種類を指定する オ プ ショ ン -c、-k、-s がすべて省略された場合、デフォルトとして SHELL 環境変数によりシェルが決定されます。 -c C シェル。csh(1) を使って at-job を実行し ま す。 -k Korn シェル。ksh(1) を使って at-job を実行し ます。 -s Bourne シェル。sh(1) を使って at-job を実 行 します。 -f file at-job の元になるファイルとして標準入力以 外 のファイルを使用するとき、そのファイルのパス を指定します。 -l (英字のエル) at_job_id が指定されなかった と き は、 コマンドを呼び出したユーザー用にスケ ジュールしたジョブをすべ て 報 告 し ま す。 at_job_id が指定されていれば、そのジョブに関 するジョブだけを出力します。 -m at-job の実行が終了したら、その旨をメール で 当 該ユーザーに通知します。at-job が生成した 標準出力と標準エラー出力の内容も、他の出力先 が指定されない限り、ユーザーにメールで送られ ます。なおメールは、ジョブが何の出力も生成し なかった場合でも送付されます。 -m オプションを省略すると、標準出力と標準 エ ラー出力の内容は、他の出力先が指定されない限 り、メールで当該ユーザーに通知されます。その ような出力が生成されなければ、ジョブの終了は 通知されません。 -p project どのプロジェクトで at ジョブ ま た は batch ジョ ブを実行するかを指定します。-l オプショ ンと共に使用すると、指定した特定のプロジェク トだけを検索します。project の値全体が数値で ある場合は、まずプロジェクト名として解 釈 さ れ、次にプロジェクト ID として解釈されます。 デフォルトでは、ユーザーの現在のプロジェクト が使用されます。 -q queuename queuename で示す待ち行列にジョブをスケジュー ル します。-l オプションも一緒に指定すると、 その待ち行列だけが検索の対象と な り ま す。 queuename として指定できるのは、a から z ま での英小文字です。デフォルトでは、at-job は 待 ち行列 a にスケジュールされます。また待ち 行列 b はバッチジョブ用に予約されていま す。 待 ち行列 c は cron ジョブ用に予約されている ので、-q オプションの引数として使うことは で きません。 -r at_job_id 以前の at ユーティリティでスケジュールされた ジョブのうち、at_job_id で示す識別子を持った ジョブを削除します。 -t time time 引数が示す時刻に、ジョブを投入しま す。 引 数の形式は、touch(1) ユーティリティが規定 する形式と同一です。 【オペランド】 以下のオペランドを指定できます。 at_job_id 以前の at ユーティリティによりジョブが ス ケ ジュールされたときに報告された名前。 timespec ジョブを投入し実行する日時を指定します。すべ ての timespec の値は、空白文字で区切られて連 結されていると見なされます。日付と時刻 の 値 は、 そのユーザーのタイムゾーン (TZ 変数が決 定) で表されていると見なされます。ただし後述 する time オペランドでタイムゾーン名を指定し た場合を除きます。 C ロケールの場合、日時を指定する文字列は以下 に 述べる 3 つの部分で構成されます。C ロケー ルの LC_TIME カテゴリから得られる値は大文 字 と小文字の区別はなく、たとえば A と a は同じ と見なされます。 time これは時刻を表す部分で、 1、 2、または 4 桁の数で指定しま す。1 桁または 2 桁の場合 は 「何時」を示す値として、4 桁 の場合は「何時何分」を示す値 として解釈されます。2 つの数 を コ ロ ン で 区 切 り、 hour:minute の形式で「何時何 分」を指定することもで き ま す。時刻指定の直後に AM また は PM (LC_TIME ロケールカ テ ゴ リの am_pm キーワードから 得られる値) 表示を付加するこ ともできます。この付加表示が なければ、24 時間制で記述 さ れ た時刻と見なされます。GMT 、UCT 、または ZULU (あえ て 使用する場合) のタイムゾーン 名を、ユニバーサル時間を調整 する時間の指定に続けることも できます。その他のタイムゾー ンは TZ 環境変数を使用して指 定できます。また time の部分 に、C ロケールの以下のトーク ンのいずれかを記述することも 可能です。 midnight 12:00 am (真 夜中) を表し ます (00:00) 。 noon 12:00 pm (正 午) を表しま す。 now 現在の日時を 表します。つ まり at now と い う指定 は、ただちに at-job を投 入するという 意味ですが、 すぐに実行さ れるかどうか はその時点で のジョブのス ケジューリン グ状況に依存 します。 date 日付を示す date の指定は任意 で、「月」の名前 (LC_TIME ロ ケールカテゴリの mon また は abmon キーワードから得られる 値) の後に「日」を表す数値を 記述する (さらにその後にコン マと「年」を表す数値があって も よ い ) 方 法 と、 曜 日 (LC_TIME ロケールカテゴリ の day または abday キーワード から得られる値) を記述する方 法 が あ ります。さらに C ロ ケールには以下の 2 つの特 殊 な日付が定義されています。 today 現在の日付が 示す日、つま り当日を表し ます。 tomorrow 現在の日付が 示す日の次の 日、つまり翌 日 を 表しま す。 date を省略すると、指定さ れ た時刻が現時刻より後であれば 当日、現時刻より前であれば翌 日 とみなされます。date とし て「月」を指定し「年」を省略 した場合、月の値が当月よりも 前であれば翌年とみなさ れ ま す。 increment increment 引数は任意指定で、 正 の 符 号 (+) 数値の後に minutes、 hours、 days、 weeks、 months、years の文字 列のいずれかを付加したもので す。 複数形を示す s は省略で きます。また + 1 と同じ意 味 を持つキーワード next も使用 できます。たとえば次の 2 つ のコマンドは同じ意味となりま す。 at 2pm + 1 week at 2pm next week 【使用法】 この項で述べる at コマンド行の形式は、C ロケールに対してだけ 保 証 さ れ ています。その他のロケールでは、midnight、noon、 now、mon、abmon、 day、 abday、 today、 tomorrow、 minutes、 hours、days、weeks、months、years、next の各指定はサポートさ れていません。 コマンドの実行は、別のプロセスグループで制御端末なしで動作し ているシェルを別途呼び出して行うので、コマンドを呼び出した環 境でのオープンファイル記述子やトラップ、優先順位などは失われ てしまいます。 【使用例】 [at] 例 1: 端末での指定例 端末でのコマンドシーケンスの例を示します。 $ at -m 0730 tomorrow sort < file >outfile <EOT> 例 2: 出力先のリダイレクト 次のシーケンスは、出力先を標準エラー出力からパイプに変更する もので、コマンドプロシージャの中で使用すると便利です。なお、 出力先変更指定の記述順序は重要なので注意してください。 $ at now + 1 hour <<! diff file1 file2 2>&1 >outfile | mailx mygroup 例 3: ジョブによる再スケジュール ジョブ自身に再スケジュールさせるため、at-job の中から at を 呼 び出すことができます。次の例では、my.daily という名の日常 業務用スクリプトは毎日実行されます。ただし、crontab を使う方 法のほうが一般的です。 # my.daily runs every day at now tomorrow < my.daily daily-processing 例 4: 時刻、オペランド指定 C ロケールの timespec の 3 つの部分は、明示的に記述してあ れ ば高い自由度で使用できます。時間やオペランド指定の例を以下に 示します。 at 0815am Jan 24 at 8 :15amjan24 at now "+ 1day" at 5 pm FRIday at '17 utc+ 30minutes' [batch] 例 5: 端末での指定例 端末でのコマンドシーケンスの例を示します。 $ batch sort <file >outfile <EOT> 例 6: 出力先のリダイレクト 次のシーケンスは、出力先を標準エラー出力からパイプに変更する もので、コマンドプロシージャの中で使用すると便利です。なお、 出力先変更指定の記述順序は重要なので注意してください。 $ batch <<! diff file1 file2 2>&1 >outfile | mailx mygroup ! 【環境】 at と batch の両ユーティリティの実行に影響を与える環境 変 数 LC_CTYPE 、 LC_MESSAGES 、NLSPATH 、LC_TIME の詳細について は、environ(5) を参照してください。 SHELL at-job を呼び出すのに用いるコマンドインタ プ リタの名前を表します。この変数が設定されてい ないか値が NULL の場合には、sh が使用され ま す。 sh 以外の値に設定されていれば、そのシェ ルを使用します。このとき、どのシェルを使うか を表す警告メッセージが出力されます。 TZ タイムゾーンを表します。ジョブ は、 timespec ま たは -t time が示す時刻に実行するために投 入されますが、この時刻は TZ 変数が示すタイム ゾー ンに対応した値です。timespec の値にタイ ムゾーン指定が含まれていれば、TZ が示す ゾー ン に 代わってそちらが使用されます。timespec にタイムゾーン指定が含まれておらず、TZ も 未 設定か NULL の場合、デフォルトのタイムゾーン が用いられます。 DATEMSK 環境変数 DATEMSK が設定されていれば、at はそ の 値 を、書式文字列を含んでいるテンプレート ファイルの完全パス名として使用します。この文 字列は書式記述子とテキスト文字から構成され、 環境変数 LANG または LC_TIME の設定値に 従っ て各国の言語固有の日付表示形式をサポートする ために使用されます。利用可能な書式記述子の一 覧 に ついては、getdate(3C) を参照してくださ い。なお「オペランド」の項で説明 し て い る time と date 引数、特殊名の noon、midnight、 now、next、today、tomorrow、さらに increment 引数の書式は、DATEMSK が設定されている場合に は認識されません。 【終了ステータス】 以下の終了ステータスが返されます。 0 at ユーティリティによるジョブの投入、削除、または一 覧表示が正常終了した >0 エラーが発生したので、ジョブはスケジュールされない 【ファイル】 /usr/lib/cron/at.allow at と batch の両ユー ティ リ ティへのアクセス権を持つユー ザーの一覧。1 行 に 1 ユー ザー名の形式 /usr/lib/cron/at.deny at と batch の両ユー ティ リ ティへのアクセスを許可しない ユーザーの一覧。 1 行 に 1 ユーザー名の形式 【属性】 次の属性については attributes(5) のマニュアルページを参照 し てください。 [at] ____________________________________________________________ | 属性タイプ | 属性値 | |_____________________________|_____________________________| | 使用条件 | SUNWcsu | |_____________________________|_____________________________| | CSI | 未対応 | |_____________________________|_____________________________| [batch] ____________________________________________________________ | 属性タイプ | 属性値 | |_____________________________|_____________________________| | 使用条件 | SUNWesu | |_____________________________|_____________________________| | CSI | 対応済み | |_____________________________|_____________________________| 【関連項目】 auths(1), crontab(1), csh(1), date(1), ksh(1), sh(1), touch(1), ulimit(1), umask(1), cron(1M), getdate(3C), auth_attr(4), attributes(5), environ(5) 【注意事項】 待ち行列を使用しているかどうかにかかわらず、cron(1M) の実 行 は 100 ジョブに限られています。 cron ではジョブの実行に遅れの出る場合があります。これらの 遅 れによって cron ジョブの処理がハングしたように見えることがあ ります。すべてのジョブは最後には実行されますが、極端に遅れが 生 じた場合には、cron を終了させてから再起動させることが唯一 の回避策です。 |
|