at - 指定された時間にコマンドを実行する

形式

説明

at により、後に実行される一連のコマンドをセットアップ することができます。これは、コマンドを標準入力 (stdin) また は –f オプション で指定されたファイルから読み取ります。コマンドが実行されるときは、それらは at コマンドが実行されたときに セットアップされた同じ環境変数、作業ディレクトリー、ファイル作成マスク、などを持っています。しかし at は通常オープン・ファイル・ディスクリプター、トラップ、あるいは作業環境 から継承した優先度を保存していません。

通常、標準出力 (stdout) はこれらのコマンドからファイルにリダイレクトされます。 これは、システムがコマンドを実行したあとでファイルを読むことができるようにするためです。 at は、このリダイレクトがなければ、 標準出力 (stdout) と標準エラー出力 (stderr) をユーザーに送ります。

at は、コマンドがサブミットされたときとシステムがコマンドを 実行するときに at-job ID を表示します。

atbatch、および crontab は、ジョブ を cron にサブミットします。ジョブのデータに 2 バイト文字が含まれて いる可能性があります。ジョブが実行されるとき、ジョブにあるデータは cron が使用する ロケールで解釈されます。cron は POSIX ロケールで開始することが強く推奨されていますので、ジョブ内の 2 バイト文字は正しく解釈されない可能性があります。ジョブで setlocale() を呼び出すと、この問題を回避することが できます。

オプション

–f file
コマンドを標準入力 (stdin) でなく file から読み 取ります。
–l
at_job が指定されていない場合は、スケジュールされたすべてのジョブと、システムがそれらのジョブを実行する ときとを、標準出力 (stdout) に報告します。 at_job が指定された場合は、これらのジョブの情報だけを報告します。
–m
ジョブの実行が完了したら、ユーザーに通知します。stdout と stderr がリダイレクトされなかったとき は、at はユーザーにこれらを知らせます。stdout また は stderr が非ヌルであれば、at–m の指定がなくても、この出力をユーザーに知らせます。
–q queue
at ジョブが記録されるまたは除去されるキューを指定します。queue は、スペース、タブ、ヌル文字、番号記号 (#) 以外であれば、どの単一バイトの文字でもかまいません。 デフォルトにより、ata と呼ばれるキューにすべてのジョブを格納します。 そして、batchb と呼ばれるキューにすべてのジョブを格納します。 このオプションと共に –l を指定すると、queue にある at のジョブについての情報だけが報告されます。
–r at_job
すでにスケジュールされた at ジョブを除去します。at_job 引数は 、at でジョブをセットアップしたときに ジョブに割り当てた ID でなければなりません。
–t time
システムがジョブを実行する時刻を指定します。touch の時刻の引数を 指定するのと同じフォーマットで time を指定します。
–t オプションを使わないときは、timespec 引数を使って 時刻を指定することができます。timespec 引数は、3 つの部分で構成されます。時間、日付、そして増分です (この順序で)。 時間は常に指定しなければなりませんが、日付と増分は省略することができます (両方とも、または一方)。時間は、次の形式で表すことができます。
形式
意味
hhmm
hh 時間 mm 分、24 時間表示
hh:mm
hh 時間 mm 分、24 時間表示
h:mm
h 時間 mm 分、24 時間表示
h:m
h 時間 m 分、24 時間表示
hh:mm zone
zone は時間帯
hh:mmam
午前、12 時間表示
hh:mmam zone
午前、12 時間表示 (特定の時間帯)
hh:mmpm
午後、12 時間表示
hh:mmpm zone
午後、12 時間表示 (特定の時間帯)
noon
正午
midnight
真夜中
next
日付と増分の指定に合った明日のこの時間
now
今日の現在
分の指定はすべてオプショナルです。例えば、at ジョブを 1:00 p.m. と指定するのに、次のように入れることができます。
at 1pm

現在、z/OS シェルは GMT、CUT、UTC、および ZULU のみの時間帯をサポートしています。すべてこれらは世界標準時 (グリニッジ標準時とも呼ばれる) を表します。 時間帯の指定がないときには、at は TZ 環境変数に従って時刻を解釈します。

TZ 環境変数のフォーマットに、TZ 環境変数を使用してローカル・タイム・ゾーンを設定する方法が説明されています。

日付の形式として使用できるものを次に示します。
形式
意味
month day
month は、フルネームか、3 文字の省略形です (例えば January または Jan)。
month day, year
dayyear は、それぞれ数字で表してください。
weekday
weekday は、フルネームか、3 文字の省略形です (例えば Monday または Mon)。
today
現在の日付
tomorrow
翌日
増分は、この timespec の前の部分で指定された日付と時間に 加算されます。そのフォーマットは + n units であり、ここで n は数値、units は以下のいずれかです。
minute     minutes    hour     hours
day        days       week     weeks
month      months     year     years
ここに時間指定の例を挙げます。
0655
1855
18:55
6:55pm
6:55 pm Jan 10
now + 3 hours
noon tomorrow
midnight Friday

環境変数

at は、以下の環境変数を使用します。
SHELL
at ジョブを起動するために使われるシェルの名前を持っています。
TZ
コマンド行に指定されるたびに、デフォルトの時間帯を指定します。time または timespec に時間帯が含まれ ていれば、TZ の値は、上書きされます。TZ 環境変数のフォーマットに、TZ 環境変数を使用してローカル・タイム・ゾーンを設定する方法が説明されています。

使用上の注意

"!!!ATEOF!!!" のストリングだけで 構成される行がある at ジョブは、予期できない結果で失敗に終わります。

ローカライズ

at は、以下のローカライズ変数を使用します。
  • LANG
  • LC_ALL
  • LC_CTYPE
  • LC_MESSAGES
  • LC_TIME
  • NLSPATH
midnightnoontoday、および tomorrow のキーワードは、POSIX ロケールでのみ有効です。

詳しくは、ローカライズを参照してください。

終了値

0
正常終了
>0
コマンドがなにかの理由で失敗したとき戻される。

エラーが起きると at はそのジョブをスケジュール、除去、またはリストしません。

移植性

POSIX.2 ユーザー移植性拡張, UNIX システム.

関連情報

batchbgcroncrontabtouchtcsh