Transfer file melalui SSH

9

Saya ingin menggunakan transfer file melalui SSH pada beberapa skrip. Saya sudah membaca bahwa mungkin untuk melakukan over ssh. Di mana saya harus mulai membaca?

Fernando Briano
sumber
Mengapa Anda membuka tar?
Zoredache
1
tar adalah cara tercepat untuk menyalin file melalui SSH. scp dan rsync memiliki banyak overhead protokol ketika menyalin banyak file kecil.
Justin
@ Justin, tentu saja asumsi dengan tar adalah bahwa Anda akan memiliki koneksi yang andal. Jika kinerja mentah tidak masalah maka biasanya lebih baik menggunakan solusi yang lebih umum dan sederhana seperti scp / rsync.
Zoredache
1
Hah? tar over ssh tidak lebih buruk daripada scp atau rsync. Satu-satunya aspek di mana rsync lebih baik adalah ia memungkinkan Anda melanjutkan. Jika koneksi tidak dapat diandalkan mungkin masih layak untuk mencoba tar lebih dari ssh pertama, dan kemudian menyelesaikan transfer dengan rsync.
Justin
@ Justin, itu akan membuat skrip yang cukup rumit. Mungkin kita harus mulai dengan sesuatu yang sedikit lebih mendasar.
John Gardeniers

Jawaban:

23

Anda dapat melakukan transfer file melalui ssh

  • gunakan scp
    • scp -r /srcdir/ user@remotehost:/destdir/
  • gunakan rsync over ssh (lihat parameter -e)
    • rsync -e ssh -a /srcdir/ user@remotehost:/destdir/
  • menggunakan beberapa alat yang mentransfer data melalui stdin / out ( tar , cpio , dll)
    • cd /sourcedir; tar -c . | ssh username@remotehost bash 'cd /dstdir; tar -x
  • Pasang sistem file melalui sshfs (jika sekering didukung pada sistem Anda)
Sakit kepala
sumber
Saya secara teratur menggunakan ketiganya; yang mana saya gunakan tergantung pada keadaan.
reinierpost
3

O'Reilly memiliki buku dengan semuanya - SSH, The Secure Shell: The Definitive Guide - jika Anda Google untuk itu, ada banyak referensi, tempat untuk membelinya, dan melihatnya online.

Kevin K.
sumber
Harus menyukainya ketika Anda downvoted dan tidak ada komentar untuk memberi tahu Anda mengapa. Dia bertanya di mana harus mulai membaca - dan ini tersedia secara online dan dari toko buku. Ini adalah referensi yang bagus untuk ssh.
Kevin K
Saya pikir ini salah juga. Mengapa Anda ditolak (dua kali) mengingat Anda benar-benar menjawab pertanyaan dan jawaban yang diterima (dipilih hingga 15 kali sejauh ini) adalah cara umum untuk menyalin file melalui ssh tanpa referensi ke mana harus mulai membaca. Aku akan memilihmu, hanya untuk mencoba memperbaiki situasi. Jangan biarkan mereka membuatmu sedih.
Richard Holloway
0

Untuk tar over ssh, Anda dapat menggunakan fakta ssh ke depan stdin dan stdout. Jadi kamu bisa melakukannya

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

dan memiliki cadangan di mesin lokal.

Dan Andreatta
sumber