at(アット)は、Unix系オペレーティングシステムのコマンドであり、任意のコマンドを任意の指定した時間に1回実行するようスケジュールする。

より正確に言えば、一連のコマンド行を標準入力から読み込み、後日実行される "at-job" としてそれらをまとめる。at-jobは現在の環境を継承するので、ワーキングディレクトリや環境変数をスケジュール設定時と同じにして実行される。

cronは、これとは異なり、繰り返し実行する場合に使われる(一時間おきとか、毎週火曜日とか、毎年1月1日など)。cronと同様、多くのUNIXシステムでatコマンドのスーパーユーザー以外の使用を制限している。

atはスケジュールされた一連のジョブを実行したときにユーザーに電子メールを送信することができ、ジョブキューを複数使ったり、標準入力以外のファイルからジョブのリストを読み込んだりできる。例えば、C言語のプログラムを午前11:45にコンパイルするコマンドを実行し、結果(標準出力と標準エラー出力)をユーザーIDに対してメールで通知するには、以下のようにする。

echo "cc -o foo foo.c" | at 1145

atがスケジュールしたジョブの実行のため、atdというデーモンが定期的にジョブリストをチェックし、実行すべき時刻がきたジョブを起動する。

atの代わりにbatchコマンドを使うと、ロードアベレージがある値より低い場合のみ、スケジュールされたジョブを実行するようになる(高負荷の場合は実行しない)。

Windows NT / 2000 / XPにはcronに類似したatコマンドがあるが、タスクスケジューラの方が有名である。

関連項目

  • cron
  • launchd - macOSにおけるat

外部リンク

  • at – The Open Group基本仕様書第7号2018年版「シェル及びユーティリティ」
  • at(1) – JM Project Linux User Commands マニュアル
  • at(1) – Solaris11.4マニュアルページ「ユーザーコマンド」章(日本語)
  • at(1) man page(HP-UX リファレンス)

Unix by Ayslin on Amazon Music

Faster computing results without fear of errors MIT News

Linux/UNIX

Administrating UNIX Systems • IMTC • Training Center in Malaysia

WikiEintrag Unix besserwiki.de