Hey I found two interesting functions while going through capistrano’s files. There are two functions named “upload” and “download”, which can be used to download and upload directories from / to remote server using scp.

Examples:

upload(“LOCAL_DIR_PATH”, “REMOTE_PATH”, :via=> :scp, :recursive => true)

download(“REMOTE_PATH”, “LOCAL_DIR_PATH”, :via=> :scp, :recursive => true)

You can also use :sftp.

Unfortunately it is not much documented :( .