Ruby 获取FTP服务器上文件的修改时间
我需要获取服务器上一组文件的修改时间。我知道如何在本地计算机上获取此文件,但File.mtime无法通过FTP工作。如何将此代码转换为在服务器上工作Ruby 获取FTP服务器上文件的修改时间,ruby,ftp,last-modified,Ruby,Ftp,Last Modified,我需要获取服务器上一组文件的修改时间。我知道如何在本地计算机上获取此文件,但File.mtime无法通过FTP工作。如何将此代码转换为在服务器上工作 files_sorted_by_time = Dir['*'].select { |f| ((Time.now - File.mtime(f)).to_i / 604800) < 7 } 你想要的 文档中的示例: Net::FTP.open('ftp.netlab.co.jp') do |ftp| ftp.login fil
files_sorted_by_time = Dir['*'].select { |f|
((Time.now - File.mtime(f)).to_i / 604800) < 7
}
你想要的
文档中的示例:
Net::FTP.open('ftp.netlab.co.jp') do |ftp|
ftp.login
files = ftp.chdir('pub/lang/ruby/contrib')
files = ftp.list('n*')
ftp.getbinaryfile('nif.rb-0.91.gz', 'nif.gz', 1024)
ftp.mtime('file.pdf')
end
您可以将mtime与nlst一起使用来筛选远程文件列表
Net::FTP.open('ftp.netlab.co.jp') do |ftp|
ftp.login
ftp.nlst do |file|
if ftp.mtime(file) # ...
end
end
File.mtime对文件有效。你打算如何通过FTP使用它?我正在制作一个脚本,下载过去一周上传的flv文件,将其转换为mp4,然后重新上传。当你下载该文件时,它将在你下载时创建。有些FTP客户机会遇到从服务器获取修改时间并将其应用于下载文件的麻烦,但如果您在Ruby内部进行下载,则必须谨慎地执行此操作。FTP几乎没有日期和时间格式的标准,编写一个功能齐全的FTP客户端确实令人沮丧和困难。“如果你能用SCP来代替,你的生活会好得不可估量。”塔德曼听起来不错。我只需要代码来完成工作。我该怎么做?你试过了吗?有没有办法我可以得到服务器上文件的时间,并且只下载过去一周的文件?我只是试了你给我的代码,它给了我一个巨大的错误。我在这里发布了代码和错误我删除了ftp.login这一行,但是我在Net::ftp.openbla,bla,bla do | ftp |行中仍然有一个错误。好吧,为什么我不教你一些我最喜欢的调试技术。对不起,我没有足够的声誉