指定時間に一度だけコマンドを実行することができます。 指定時間になる度にコマンドを実行するcronとは違います。 定期的にコマンドを実行するか一度だけかの違いです。
指定時間に勝手にコマンドを実行してくれるわけですが、 まずはコマンドの指定方法を説明しましょう。 時間の指定方法はその後で。
とりあえず、今から1分後にrm file
を実行する場合を例に説明しましょう
$ at now+ 1 minutes
とタイプすると、
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh at>の様に表示されます。 ここに実行したいコマンドを普通に記述します。 改行してコマンドを複数記述することもできます。 その場合は、記述した順番にコマンドが実行されます。 で、気の済むまでコマンドを記述しまくった後は「Ctrl」+「D」 を同時にタイプします。すると時間になると時動的にコマンドが実行されます。
いちいちタイプして指定するのが面倒だとか、 長すぎて途中で間違えそうだとか何だとかって 思うことがあるかもしれません。 その場合は、実行したいコマンドを一度ファイルに書き込んでしまいます。 書き方は普通にコマンドを実行するのと同じように書きます。 改行で複数のコマンドを記述することができます。
# 例
touch file
chmod 777 file
rm file
rm command
これを実行するには、
at now+ 1 minutes -f filename
の様に"-f"の後にコマンドを記述したファイル名を指定します。
あとは指定時間を待つだけです。
lsコマンドのような、何かの出力を期待するコマンドは、 期待通りに動いてくれません。 コマンドは実行されますが、 結果は画面に表示されません
at 時間 [-f filename]
の様に指定します。[-f filename]は省略化です。
時間はこれから説明するように指定します。
HH:MM
midnight
noon
teatime
4pm
4am
teatime april 1
teatime march 1 2006
teatime 03/03/06
now+ 1minutes
teatime today
teatime + 7 days
at now+ 5 minuntes
at teatime today
at teatime april 1 -f command
at 12:36 + 1weeks
at 3pm -f oyatsu