このような質問がある場合は、常にmanページを参照してください。彼らは非常に啓発的です。
何をする
マニュアルページからの抜粋
NAME
at, batch, atq, atrm - queue, examine or delete jobs for later execution
DESCRIPTION
at and batch read commands from standard input or a specified file
which are to be executed at a later time, using /bin/sh.
使用法
ツールの使用法:
Usage: at [-V] [-q x] [-f file] [-mldbv] timespec ...
at [-V] [-q x] [-f file] [-mldbv] -t time
at -c job ...
atq [-V] [-q x]
atrm [-V] job ...
batch
at
4つのコマンドを含む(at
、atq
、atrm
、およびbatch
)。at
およびbatch
を使用して、ジョブをスケジュールし、スケジュールatq
を確認atrm
し、実行する前にジョブを削除します。
$ at -f <cmd> timspec
タイムスペック
at
ジョブを実行する時間は、さまざまな方法で指定できます。
マニュアルページの抜粋フォーム
Atでは、POSIX.2標準を拡張するかなり複雑な時間指定が可能です。HH:MMという形式の時刻を受け入れて、特定の時刻にジョブを実行します。(その時間がすでに過ぎている場合、翌日が想定されます。)深夜、正午、またはティータイム(午後4時)を指定することもでき、午前中に実行するためにAMまたはPMをサフィックスとして付けることができます。または夕方。また、オプションで年を付けてmonth-name dayの形式で日付を指定するか、MMDD [CC] YY、MM / DD / [CC] YYの形式で日付を指定することにより、ジョブを実行する日を指定することもできます。 DD.MM. [CC] YYまたは[CC] YY-MM-DD。日付の指定は、時刻の指定に従う必要があります。また、now + countの時間単位を指定できます。時間単位は分、時間、日、
例
このシェルスクリプトがあるとします。
$ cat mycrontest.sh
#!/bin/bash
echo "It is now $(date +%T) on $(date +%A)"
サンプル実行:
$ ./mycrontest.sh
It is now 18:37:42 on Friday
ジョブ送信時のサンプル:
$ at -f mycrontest.sh 10pm tomorrow
job 14 at Sun Jul 8 22:00:00 2007
$ at -f mycrontest.sh 2:00 tuesday
job 15 at Tue Jul 10 02:00:00 2007
$ at -f mycrontest.sh 2:00 july 11
job 16 at Wed Jul 11 02:00:00 2007
$ at -f mycrontest.sh 2:00 next week
job 17 at Sat Jul 14 02:00:00 2007
参照資料
at
は、ジョブがスケジュールされたときと同じように環境を保持することです。同じ作業ディレクトリ、環境変数、...