ruby-fu, , , !
,
sudo yum install rubygems
sudo gem install net-ssh net-sftp highline echoe
( ),
require 'rubygems'
require 'net/ssh'
require 'net/sftp'
require 'highline/import'
file = ARGV[ 0 ]
prod = file + "-new"
rpath = "/tmp"
rfile = "#{rpath}/#{file}"
rprod = "#{rpath}/#{prod}"
cmd = "mv #{rfile} #{rprod}"
host = "-YOUR REMOTE HOST-"
user = "-YOUR REMOTE USERNAME-"
pass = ask("Password: ") { |q| q.echo = false }
Net::SSH.start(host, user, :password => pass) do |ssh|
ssh.sftp.connect do |sftp|
sftp.upload!(file, rfile)
ssh.exec!(cmd)
sftp.download!(rprod, prod)
end
end
,
dylan@home ~/tmp/ruby) ls
bar remotefoo.rb*
dylan@home ~/tmp/ruby) ./remotefoo.rb bar
Password:
dylan@home ~/tmp/ruby) ls
bar bar-new remotefoo.rb*