Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

RubyでFTPサーバにアップロード

Rubyスクリプトで出力したデータをFTPサーバにアップロードしたい場合は、net/ftpライブラリを使用します。
拍子抜けするほど簡単です。

ftp.rb 参考元ではパスワード直打ちでしたが、ここでは引数で指定することにします。

require 'net/ftp'
require_relative 'makedata'

makedata('ファイルの相対パス')

ftp = Net::FTP.new
ftp.connect('ホスト名')
ftp.login('ログイン名', ARGV[0])
ftp.binary = true
ftp.chdir('書き込み先ディレクトリ')
ftp.put('出力ファイルの絶対パス', '送り先での名前')
ftp.quit

end

makedata.rb これはお好みで。

def makedata(filepath)
  100.times do
    File.open(filepath,"a") do |f|
      f.puts("#{rand(10).to_s}")
    end
  end
end

実行すると、

5
2
4
1
9
.
.
.

といった感じのデータがディレクトリ内に書き込まれるはずです。

参考元