Linuxコマンド-at:指定した時間にタスクを実行

2751 ワード


指定した時間にタスクを実行します.
コマンドフォーマット
at [-V] [-q queue] [-f file] [-mldbv] TIMEat [-V] [-q queue] [-f file] [-mldbv] -t time_argat -c job [job...]
コマンドパラメータ
-V標準エラーフローにバージョン番号を印刷
-q queueは指定したキューを使用します.1つのキューは単一のアルファベットで命名され、有効な命名範囲はa-zとA-Zである.atコマンドのデフォルトキューはaであり、batchコマンドのデフォルトキューはbである.アルファベットの順序が高いほど、キューの優先度は低くなります.特殊なキュー"="は、現在実行中のタスクのために保持されます.
-mタスクが完了したときに、出力がなくてもユーザにメールを送信する.
-fは、標準出力ではなく指定されたファイルから読み出しタスクを出力する.
-l現在のユーザのatタスクリストをリストします.rootユーザーとの場合、すべてのユーザーのatリストがリストされます.
-dタスク番号に従ってタスクを削除します.
-vタスクが実行される時間を表示します.
-c接続コマンドラインにリストされているジョブを標準出力に出力します.
-t time_Arg指定タスクの実行時間time_arg. time_Argの形式は[CC]YY]MMDDhhmmである.
≪インスタンス|Instance|emdw≫
a)10分後に任務を遂行する
huey@huey-K42JE:~$ at now + 5 minutes

at> echo 'hello world' >> at.out

at> <EOT>

job 3 at Tue May 12 22:16:00 2015

b)3日後午後4時に任務を遂行する
huey@huey-K42JE:~$ at 4pm + 3 days

at> echo 'hello world' >> at.out

at> <EOT>

job 4 at Fri May 15 16:00:00 2015

c)7月31日午前10時に任務を遂行する
huey@huey-K42JE:~$ at 10am Jul 31

at> echo 'hello world' >> at.out

at> <EOT>

job 5 at Fri Jul 31 10:00:00 2015

d)明日午前1時に任務を遂行する
huey@huey-K42JE:~$ at 1am tomorrow

at> echo 'hello world' >> at.out

at> <EOT>

job 7 at Wed May 13 01:00:00 2015

e)水曜日の午後4時に任務を遂行する
huey@huey-K42JE:~$ at 4pm WED

at> echo 'hello world' >> at.out

at> <EOT>

job 8 at Wed May 13 16:00:00 2015

f)2015-05-20 12:00:00にタスクを実行
huey@huey-K42JE:~$ at -t "201505201200"

at> echo 'hello world' >> at.out

at> <EOT>

job 9 at Wed May 20 12:00:00 2015

g)現在のユーザのatタスクリストをリストする
huey@huey-K42JE:~$ atq

9	Wed May 20 12:00:00 2015 a huey

8	Wed May 13 16:00:00 2015 a huey

6	Tue May 12 22:21:00 2015 a huey

5	Fri Jul 31 10:00:00 2015 a huey

4	Fri May 15 16:00:00 2015 a huey

7	Wed May 13 01:00:00 2015 a huey

h)6番のタスクを削除
huey@huey-K42JE:~$ atrm 6

 
関連コマンド
atq-at-lに相当
atrm-at-dに相当
batch-システム負荷許可時、すなわち平均負荷量が0.8未満の場合、タスクを実行します.その使い方はatコマンドと似ています.
その他の事項
  • 時間の説明は、/usr/share/doc/at-3.1.10/timespecファイルを参照してください.