我有一个简单的SFTP脚本,我正在测试它来连接到服务器并下载一个或多个文件,文件名中包含特定的日期。
我使用rufus/scheduler每X分钟启动一次脚本的SFTP部分,以查看服务器上是否有新文件。
直到我故意强制执行一个错误,比如提供了不正确的登录凭据,所有这些看起来都是有效的。然后,我希望能够捕获确切的错误或异常,并使用logger记录它。我没有得到错误的详细信息,或者我没有正确地使用救援:
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发布于 2012-10-11 15:09:09
添加:verbose => Logger::DEBUG行吗?
Net::SFTP.start(HOST, ID, :password => PW, :verbose => Logger::DEBUG ) do |sftp|https://stackoverflow.com/questions/12498441
复制相似问题