【at】Linuxで指定した時刻にジョブを実行する

Linuxで指定した時刻にジョブを実行するatコマンドについて紹介します。

atコマンドの使い方

atコマンドの書式は以下の通りです。

atコマンドは引数に指定した時刻に、標準入力や指定したファイルを実行します。ただし、過去の時刻を入力することはできません。

オプション

-q ジョブの優先順位をa~z・A~Zで指定する(優先度はa~Zの順で高くなる)
-m ジョブが完了したとき、ユーザーに完了通知メールを送る
-f 標準入力からではなく、ファイルからジョブを読み込む
-l 実行予定のジョブ一覧を表示する
-d, -r 指定したジョブ番号のジョブを削除する
-v ジョブが実行される時刻を表示する
-c コマンドラインで入力したジョブを標準出力に表示する

指定した時刻にコマンドを実行する

以下は、「touch a.txt」を当日の20:00に実行する例です。ただし、20:00を過ぎている場合は翌日の20:00にジョブが実行されます。

atコマンドを実行すると入力が求められるので、そこに実行したいジョブを入力します。入力を終了するときは「Ctrl+D」を入力します。

ファイルを指定する

「-f」オプションを使用してファイルを指定します。以下は、a.shというファイルを実行する例です。

実行時刻の指定方法

時刻の指定方法はいくつか存在し、その方法について説明します。

相対的に時間を指定する

現在の時刻から相対的に時間を指定する場合は、指定時刻に「+」を付けて指定します。また、「now」は現在の時刻を表します。

日付を指定する

日付はMMDDYY、MM/DD/YY、DD.MM.YYなどの形式で指定できます。以下の例は、すべて「2016年9月25日の4:00」にジョブが実行されます。

特殊な時刻を指定する

いくつか特殊な意味をもつ文字列もあります。

実行予定のジョブ一覧を表示

実行予定のジョブを表示する場合は、「-l」オプションを指定します。

表示される内容は、左側からジョブ番号、実行日時、キュー名、ユーザー名となります。

実行予定のジョブを削除

実行予定のジョブを削除する場合は、「-d」オプションの後にジョブ番号を指定します。

実行予定のジョブ内容を表示

実行予定のジョブ内容を表示する場合は、「-c」オプションの後にジョブ番号を指定します。


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて

UX MILKのディレクター募集