通过Ruby 中的ftp机制连接到Linux 系统计算机上传文件(覆盖原文件)
#通过Ruby 中的ftp机制连接到Linux 系统计算机上传文件(覆盖原文件)
#参数说明 : linuxIp : 要访问的计算机IP
# pcIp : ftp服务器IP
# fileName : 要上传的文件名
# username :Linux系统账户
# password : Linux系统密码
# destionation :文件上传目的地
def UploadFileByFtp(linuxIp,pcIp,fileName,username,passwd,destionation)
Log("Start UploadFile")
sleep(3)
GetProcList()
retrytimes = 0
maxretrytimes = 3
begin
str = "ftp ftp://smartdpi:smartdpi@" + pcIp + ":20001/"+fileName
Net::SSH.start(linuxIp,username,:password => passwd) do |ssh|
sshexec!(ssh,str)
sshexec!(ssh,"cp "+fileName + destionation)
end
rescue Exception => e
if retrytimes < maxretrytimes then
Log("--Exception Accur: #{e.class}")
Log("--Exception.message: " + e.message)
retrytimes = retrytimes + 1
Log("--retry " + String(retrytimes) + " times" )
Log("Upload file is Failured !")
retry
else
pause("连接出错,请检查网络是否正常,然后输入回车继续执行...")
end
end
Log("Upload file successful!")
end