linux note
     linuxのコマンドがカテゴリ別の一覧で確認できます。



 

Linux Note(トップページ) > システム管理 > プログラムの実行予約 > at コマンドによる自動実行







[Note] at コマンドによる自動実行

システム管理においては、プログラムが自動的に実行されるように設定(予約)しておくことが必要な場合があります。定期的にプログラム(正確にはlinux上のジョブ)を実行するには、「crontab」コマンドを用いますが、1度だけの実行でよい場合は「at」コマンドを用います。

例えば本日の21時に「/usr/local/bin/testbk」を実行させたい場合には、以下のようにします。

 $ at 21:00 today
 at> /usr/local/bin/testbk
 at> (「Ctrl」+「D」を入力)

at コマンドに日時を指定して「Enter」キーを叩くと、自動的に対話モードに入り「at>」が表示されます。そこで、実行させたいファイル名を入力して「Enter」キーのより次の行へ移った後、「Ctrl」+
「D」にて設定完了となります。
また、対話式でなく、あらかじめテキストファイルにコマンドを記述しておいて、そのファイルを指定する方法もあります。その場合、オプション「-f」を用います。
以下では、コマンドを記述した「test_job」の実行予約をしています。

 $ at -f test_job 17:00 today

ただ、最初の頃は、日時の指定の仕方に戸惑う場合が多いようです。というのは、書式の自由度が広すぎるからのようです。以下に日時の指定の仕方をまとめておきます。

【実行日時の書式】
[時刻]+スペース+ [日付]

【時刻の書式】
時刻は「HH:MM」(13:45 etc)で指定できます。
AM・PMを付加すると12時間制・24時間制の表記を切り替える事が出来ます。
(pm01:45 etc)

【日付の書式】
(以下、MMは月、DDは日、YYは年をあらわす2桁の整数)
•「MMDDYY」
•「MM/DD/YY」
•「DD.MM.YY」
•「月をあらわす英名 DDYY」
また、以下のような指定も可能
•today (今日)
•tomorrow (翌日)
•midnight (深夜0:00)
•noon (午後0:00)
•teatime(午後4:00)

【例外:経過時間の指定】
次のように実行するまでの経過時間を指定することも出来ます。
•now +「経過時間」(今から指定時間後に実行)
 (now + 3days etc)
•時間 +「経過日」(今から指定日後の指定時間に実行)
 (23:00 + 3 weels)
※経過日時の単位は「minutes」「hours」「days」「weeks」となります。




[ カテゴリ一覧 ]

 |  エディタ  |  システム管理  |  テキスト操作  |  ファイルシステム  |  ファイル操作  | 
 |  ファイル管理  |  ユーザーやグループの管理  |