Class: AvstCloud::ScpTask
Instance Method Summary
collapse
Methods included from Logging
included, #logger, #logger=
Constructor Details
#initialize(files) ⇒ ScpTask
Returns a new instance of ScpTask.
269
270
271
|
# File 'lib/avst-cloud/task.rb', line 269
def initialize(files)
@files = files
end
|
Instance Method Details
#execute(server) ⇒ Object
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
|
# File 'lib/avst-cloud/task.rb', line 273
def execute(server)
unless server.ip_address
logger.error 'Can not find host'.red
raise 'Can not find ip address, access_user or access_password'
end
unless server.access_user
logger.error 'Access user not found. Please provide username for this server.'.red
raise 'Access user not found. Please provide username for this server.'
end
unless server.access_password
logger.error 'Password not found. Please provide password or pem key for this server.'.red
raise 'Password not found. Please provide root_password in config. for this server.'
end
logger.debug "Using #{server.access_user}@#{server.ip_address} with #{server.access_password}"
Net::SCP.start( server.ip_address, server.access_user, :password => server.access_password, :keys => [server.access_password] ) do |scp|
@files.each do |local_file, remote_path|
upload_file(scp, local_file, remote_path)
end
end
end
|
#upload_file(scp, local_path, remote_path) ⇒ Object
297
298
299
300
|
# File 'lib/avst-cloud/task.rb', line 297
def upload_file(scp, local_path, remote_path)
logger.debug("Uploading file on server: #{local_path} to #{remote_path}")
scp.upload!( local_path, remote_path)
end
|