Ruby通过sftp传送文件
把文件从本地传送到sftp服务器,服务器上的文件修改时间会变成当前时间。想把服务器上的文件修改时间改成和本地一样,像WinSCP做的一样,如何写这个代码?下面的代码只是把一个本地文件传到服务,显示一下服务器上文件的修改时间。
require 'net/ssh'
require 'net/sftp'
host = '10.170.102.133'
username = 'root'
password = 'root'
ssh = Net::SSH.start(host, username, :password => password) do |ssh|
ssh.sftp.connect do |sftp|
sftp.upload!('d:\aaaa.doc', '/root/aaaa.doc')
sftp.dir.glob('/root/','*.doc') do |file|
puts file.attributes.mtime
end
end
end