Heroku Rails控制台写入本地文件

Cla*_*lam 7 ruby bash ruby-on-rails heroku output

我想从我的数据库中将一些信息提取到一个文本文件中.

有什么好办法呢?我最初想过运行我的heroku bash和rails控制台,因为我只需要做一个简单的循环来获取我需要的信息.但我不知道从heroku写入文件的正确方法.它适用于我的本地rails控制台

我试过了

File.open('text.txt', 'w') do |f|
    User.all.each do |u|
        f.puts u.email
    end
end
Run Code Online (Sandbox Code Playgroud)

或类似的东西 $stdout = File.new('/path/to/text.txt', 'w')

但我认为这些文件不会在我的本地目录中结束......

我该怎么做呢?

替代简单的解决方案也很受欢迎,因为我认为我没有做任何过于复杂的事情

尝试Pakrash的答案

在heroku bash + rails c

我投入

 require 'net/ftp'

ftp = Net::FTP.new('address.herokuapp.com','email@example.com', 'somepassword')
Run Code Online (Sandbox Code Playgroud)

这只是挂起.没有错误..我必须从中获取crl + c

我以前在那里有我的完整地址https://adddress.herokuapp.com/,但它说getaddrinfo: Name or service not known

我应该以不同方式进入吗?

Pra*_*thy 2

Heroku 支持被动模式下的 ftp。因此,在服务器上创建文件并使用 ftp 将文件下载到本地计算机。

# FTPing from Heroku
ftp = Net::FTP.new(server, user, pass)
ftp.passive = true
ftp.getbinaryfile(remote_filename, tmp_filename)
Run Code Online (Sandbox Code Playgroud)

参考:

  1. http://www.web-l.nl/posts/30-downloading-files-using-ftp-on-heroku
  2. /sf/answers/389945181/