日期:2014-05-16  浏览次数:20659 次

通过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