2011-04-13 9 views
13

Ho un file nella directory usr/share/ruby.rb. Voglio trasferire quel file su dispositivi remoti basati su IP usando SSH e SCP usando le chiamate Ruby. Qualcuno può aiutarmi?Come si trasferiscono i file utilizzando SSH e SCP utilizzando le chiamate Ruby?

+2

nuovamente la stessa domanda non è un comportamento accettabile qui. Se si vuole attirare l'attenzione alla tua domanda, ti sarà permesso di [posto una taglia su di esso] (http://stackoverflow.com/faq#bounty) dopo due giorni. È possibile anche [modificare la tua domanda] (http://stackoverflow.com/posts/5644110/edit) per aggiungere informazioni aggiuntive, che possono rendere la tua domanda più facile da capire e rispondere. – Will

risposta

12

La libreria include Net::SSHNet::SCP, così si dovrebbe cominciare a cercare lì.

Dal Net :: docs SCP:

 
    require 'net/scp' 

    # upload a file to a remote server 
    Net::SCP.upload!("remote.host.com", "username", 
    "/local/path", "/remote/path", 
    :password => "password") 

    # download a file from a remote server 
    Net::SCP.download!("remote.host.com", "username", 
    "/remote/path", "/local/path", 
    :password => password) 

    # download a file to an in-memory buffer 
    data = Net::SCP::download!("remote.host.com", "username", "/remote/path") 
+0

Grazie lot..I controllerà se funziona .. – user705217

+0

Sarà necessario modificare i campioni per soddisfare la vostra situazione. Il codice di esempio non ti sta dando da mangiare, ti mostra le cose appropriate da usare per catturare il tuo pesce. –

+0

Hi Tin, quando si esegue lo script mostra NoMethod error..what vuol dire ?? ..... questo è il mio script..require net/SCP – user705217

20

esempio:

require 'net/scp' 

    host = '10.10.10.10' 
    login = 'foo' 
    password = 'bar' 

    Net::SCP.start(host, login, :password => password) do |scp| 
     puts 'SCP Started!' 
     scp.download('/usr/share/ruby.rb', '.') 
    end 

c'è anche un scp.upload

Problemi correlati