我需要每天从我有SCP但没有SSH访问权限的客户端下载一个文件。
文件名将始终为/outgoing/Extract/visit_[date]-[timestamp].dat.gz'
例如昨天的文件被调用visits_20130604-090003.dat.gz
我不能依赖时间戳总是相同的事实,但日期应该总是昨天的日期:
到目前为止我的设置:
我的主目录包含名为downloads_fullname
和的子目录downloads_wildcard
。
它还包含一个简单的 ruby 脚本,名为foo.rb
.
foo.rb 的内容是这个`
#! /usr/bin/ruby
require 'net/ssh'
require 'net/scp'
yesterday = (Time.now - 86400).strftime('%Y%m%d')
Net::SCP.start('hostname', 'username') do |scp|
scp.download!('/outgoing/Extract/visits_' + yesterday + '-090003.dat.gz', 'downloads_fullname')
scp.download!('/outgoing/Extract/visits_' + yesterday + '-*.dat.gz', 'downloads_wildcard')
end
运行时downloads_fullname
目录包含文件,但downloads_wildcard
目录不包含。
有没有办法在 Net::SCP 中使用通配符?或者有人有任何狡猾的解决方法吗?我试过\*
无济于事。