名称
proto ― at(1) 用プロトタイプ ジョブファイル
構文
/var/adm/cron/.proto
/var/adm/cron/.proto.queue
説明
ジョブが at または batch に出されると、そのジョブは
POSIX シェル スクリプトとして構成されます ( at(1) および batch(1) 参照)。 ジョブファイルは /var/spool/cron/atjobs 中に以下のように作成されます。
at は、そのジョブが at ジョブかまたは batch ジョブかを記述したヘッダを作成します。 a というキュー以外のすべてのキューに出された at ジョブは、 batch ジョブとしてリストされます。ヘッダは以下のようになります。
| : at job | | at ジョブ用、または |
| : batch job | | batch ジョブ用 |
at ジョブ用の環境 ( environ(5) 参照) を現在の環境と同一にするために、一連の POSIX シェル
コマンドが追加されます。
さらに at は、テキストをプロトタイプファイルからジョブファイルにコピーします。ただし以下の特別な 変数 は、他のテキストに置換されます。
| $d | | 現在のワークディレクトリに置換されます。 |
| $l | | 現在のファイルサイズ上限に置換されます ( ulimit(2) 参照)。 |
| $m | | 現在の umask に置換されます ( umask(2) 参照)。 |
| $t | | ジョブを実行すべき時刻に置換されます。時刻はコロンを前置した、世界標準時 1970 年 1 月 1 日 0 時 0 分からの経過秒数で表現されます。 |
| $< | | at が標準入力から読み取ったテキスト
(すなわちジョブで実行するために at に与えられたコマンド)
に置換されます。 |
ジョブが queue という名前のキューに出された場合、 /var/adm/cron/.proto.queue というファイルが存在すれば、 at はそれをプロトタイプファイルとして使用します。
それ以外の場合は、 /var/adm/cron/.proto. を使用します。
例
次は .proto ファイルは、ジョブ中の現在のディレクトリ、ファイルサイズ上限、および umask を at が最初に実行されたときにあった、それぞれの値に変更するコマンドを作成します。
これらのコマンドはジョブ中のコマンドの前に挿入されます。
cd $d
ulimit $l
umask $m
$<