0
서버에 연결하여 파일 이름에 특정 날짜의 파일 또는 파일을 다운로드하는 간단한 SFTP 스크립트가 있습니다.Ruby Net-SFTP 캡처 및 로그 예외
새로운 파일이 서버에 있는지 확인하기 위해 스크립트의 SFTP 부분을 X 분마다 시작하려면 rufus/scheduler를 사용하고 있습니다.
잘못된 로그인 자격 증명을 제공하는 등 의도적으로 오류가 발생할 때까지는 모두 작동하는 것 같습니다. 그런 다음 정확한 오류 또는 예외를 캡처하고 로거를 사용하여 로그 할 수 있기를 원합니다. 나는 오류 세부 정보를 받고 있지 않다 아니면 내가 제대로 구조를 사용하지 않는 오전 :
이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