#!/usr/bin/env ruby # FTP protocol upload begin require 'net/ftp' rescue LoadError puts "Error: This system lacks 'net/ftp' ... wtf?" exit 1 end unless [5, 6].include? ARGV.size puts "Usage: ftpupload [as-file]" exit 1 end host, user, pass, remotedir, file, asfile = *ARGV asfile = File.basename(file) if asfile.nil? begin raise RuntimeError, "Source file not readable " unless \ FileTest.readable?(file) ftp = Net::FTP.open(host, user, pass) ftp.chdir(remotedir) ftp.putbinaryfile(file, asfile) rescue puts "Error: #{$!.to_s.strip} (#{$!.class})" exit 1 end exit 0 # vim: set ts=4 sw=4 :