Trasferisci file tramite SSH


9

Voglio usare il trasferimento di file tramite SSH su alcuni script. Ho letto che è possibile ricorrere a ssh. Dove dovrei iniziare a leggere?


Perché porti il ​​catrame?
Zoredache,

1
tar è il modo più veloce per copiare file su SSH. scp e rsync hanno un sacco di overhead di protocollo quando si copiano molti file di piccole dimensioni.
Justin

@Justin, ovviamente il presupposto con tar è che avrai una connessione affidabile. Se le prestazioni non sono importanti, di solito è meglio attenersi alle soluzioni più comuni e semplici come scp / rsync.
Zoredache,

1
eh? tar over ssh non è peggio di scp o rsync. L'unico aspetto in cui rsync è migliore è che ti consente di riprendere. Se la connessione non è affidabile, probabilmente vale comunque la pena provare prima tar over ssh, quindi finire il trasferimento con rsync.
Giustino,

@Justin, sarebbe una sceneggiatura abbastanza complessa. Forse dovremmo iniziare con qualcosa di un po 'più semplice.
John Gardeniers,

Risposte:


23

Per eseguire il trasferimento di file su SSH è possibile

  • usa scp
    • scp -r /srcdir/ user@remotehost:/destdir/
  • usa rsync su ssh (vedi il parametro -e)
    • rsync -e ssh -a /srcdir/ user@remotehost:/destdir/
  • utilizzare alcuni strumenti che trasferiscono i dati tramite stdin / out ( tar , cpio , ecc.)
    • cd /sourcedir; tar -c . | ssh username@remotehost bash 'cd /dstdir; tar -x
  • Montare il filesystem tramite sshfs (se il fusibile è supportato sul proprio sistema)

Uso regolarmente tutti e tre; quale utilizzo dipende dalle circostanze.
reinierpost, l'

3

O'Reilly ha un libro con tutto questo - SSH, The Secure Shell: The Definitive Guide - se sei su Google per questo, ci sono molti riferimenti, luoghi per acquistarlo e visualizzarlo online.


Devo adorarlo quando vieni votato verso il basso e non ci sono commenti per farti sapere perché. Ha chiesto da dove iniziare a leggere - e questo è disponibile online e da una libreria. È un ottimo riferimento per ssh.
Kevin K,

Penso che anche questo sia sbagliato. Perché sei stato votato giù (due volte) dato che hai effettivamente risposto alla domanda e la risposta accettata (votata fino a 15 volte finora) è un modo generico per copiare i file su ssh senza riferimento a dove iniziare a leggere. Ti voterò, solo per cercare di porre rimedio alla situazione. Non lasciarti buttare giù amico.
Richard Holloway,


0

Per tar over ssh, puoi usare il fatto che ssh inoltra stdin e stdout. Quindi puoi farlo

ssh server 'tar czf - /some/dir/' > tarfile.tar.gz

e avere il backup sul computer locale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.