1

サーバーに接続し、ファイル名に特定の日付を含むファイルをダウンロードするためにテストしている単純な SFTP スクリプトがあります。

rufus/scheduler を使用してスクリプトの SFTP 部分を X 分ごとに開始し、新しいファイルがサーバー上にあるかどうかを確認しています。

間違ったログイン資格情報を提供するなど、意図的にエラーを強制するまで、すべてが機能しているようです。次に、正確なエラーまたは例外をキャプチャし、ロガーを使用してログに記録できるようにしたいと考えています。エラーの詳細が表示されないか、またはレスキューを正しく使用していません:

scheduler = Rufus::Scheduler::PlainScheduler.start_new(:frequency => 3.0)
log = Logger.new('sftp.log')
log.level = Logger::INFO

begin
log.info 'starting sftp'
  Net::SFTP.start(HOST, ID, :password => PW ) do |sftp|
   sftp.dir.glob("./", "20120820*") do |entry|
     puts entry.name
     file = entry.name
     success = sftp.download!(file, file)
   end
  end   
rescue Exception => e
  puts e.message          # Human readable error
  log.error ("SFTP exception occured: " + e.message)
end
scheduler.join
4

1 に答える 1

7

追加は機能します:verbose => Logger::DEBUGか?

Net::SFTP.start(HOST, ID, :password => PW, :verbose => Logger::DEBUG ) do |sftp|
于 2012-10-11T07:09:09.300 に答える