sleep-until - 特定の時刻まで待ち続けるRubyスクリプト

特定の時刻にコマンドを実行するには、cronやatがある。一定時間待つにはsleepがある。
特定の時刻まで待つコマンドがわからなったので、速攻でRubyで書いてみた。こんなのはぐぐるよりも書くほうが早いので。

#!/usr/bin/env ruby
require 'time'
time = Time.parse ARGV.join(" ")
secs = time - Time.now
puts "Sleep #{secs}seconds (until #{time})"
sleep secs

使い方は引数に時刻文字列を書くだけ。

使用例

$ sleep-until 0:30
Sleep 448.72888seconds (until Tue Oct 06 00:30:00 +0900 2009)
$ (sleep-until 10/10 15:00; 10/15の15:00に実行したいコマンド) &