【发布时间】:2014-02-25 23:01:50
【问题描述】:
我需要每晚通过 sftp 下载新文件。该目录中目前有成千上万个文件(我无法控制),并且希望能够将我必须抓取的文件限制为比我上次运行此过程时更新的文件。
我知道我可以很容易地通过 ssh 做到这一点,但是我还没有看到只用 sftp 做到这一点的方法。除了遍历每个文件并检查 attributes.mtime 之外,我还有其他选择吗?
示例:
Net::SFTP.start('sftp.host.com', 'username', :password => 'password') do |sftp|
sftp.dir.glob('prefix.', '*').each do |file|
if Time.at(file.attributes.mtime) > last_process_time
sftp.download!(file, "some/local/path/")
end
end
end
【问题讨论】: