dropbox start して同期が終わったら dropbox stop するRubyスクリプト

# dropbox-sync.rb

module Dropbox
  def self.exec(cmd)
    puts cmd
    `#{cmd}`
  end


  def self.sync
    self.exec %Q!dropbox start!

    loop do
      result = exec( %Q!dropbox status! )
      p result
      break if result == "Idle\n"
      sleep 5
    end

    self.exec %Q!dropbox stop!
  end
end


if $0 == __FILE__
  Dropbox.sync
end

他のRubyスクリプトから呼び出して使う場合は

require "dropbox-sync"
Dropbox.sync