指定時間にコマンド起動
時間指定の起動というと、crontabが一般的かと思われます。しかし、crontabは設定ファイルにコマンドを登録するタイプなので、「明日一回だけ…」のような臨時のタスク予約には不向きな部分があります(処理後に設定を消し忘れると、また動いてしまいます)。
ということで、登場するのが「at」コマンド群です。atでタスクを登録して、atqで一覧、atrmで削除、といった具合にタスクをキューで管理します。
$ at "11:40" -f foo.sh
$ atq
1 2013-04-08 10:40 a username
2 2013-04-08 11:40 a username
$ atrm 2
$ atq
1 2013-04-08 10:40 a username
コマンドの指定は「-f」オプションでスクリプト(/bin/sh限定)を指定する他、以下のように標準入力から渡すことも可能です(こっちが本命?)。
$ echo "who" | at "10:50"
参考にしたサイトでは、処理後のレポートは「特に何も」と書かれていましたが、こちらの環境(RedHat5.9)では、以下のようなタイトルのメールで実行結果が配送されてきました。これなら実行確認も楽ですね。
Output from your job 3
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について