似乎卡皮斯特拉诺曾经有an extensive file transfer package。
然而,重写后它似乎在版本3.0中消失了。是否还有其他方法可以将文件传输到服务器或从服务器传输文件?
答案 0 :(得分:7)
下载:
desc "download foobar.txt into local_dir/"
task :foobar do
download! "some_remote_path/foobar.txt", "local_dir/"
end
我知道这是按照第3.2.1章的规定运作,因为我现在正在使用它。
答案 1 :(得分:3)
我在IRC上询问过这个问题,发现还有一个上传功能:
on hosts do |host|
upload! '/config/database.yml', '/opt/my_project/shared/database.yml'
end
https://github.com/leehambley/sshkit/blob/master/EXAMPLES.md 但是,我还没有找到一种方法从服务器下载文件而不使用rsync或scp
答案 2 :(得分:1)
您可以使用rsync
run_locally do
execute"rsync -ah --progress source destination"
end