Saya sudah mencoba menggunakan rsync pada OSX ke Linux atau kotak Unix yang saya tidak punya banyak kontrol. Saya sudah melakukan hal seperti ini
rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/
Kesalahan yang dikembalikan adalah:
bash: rsync: perintah tidak ditemukan rsync: koneksi tiba-tiba ditutup (0 byte diterima sejauh ini) [penerima] kesalahan rsync: perintah jarak jauh tidak ditemukan (kode 127) di /SourceCache/rsync/rsync-37.3/rsync/io.c(452 ) [penerima = 2.6.9]
Namun, setelah membaca dokumen saya mulai berpikir bahwa saya benar-benar perlu menginstal daemon rsync pada host jarak jauh.
- Haruskah saya menginstal server rsync pada host jarak jauh?
- Alternatif gratis - GUI atau non-GUI - yang tidak memerlukan instalasi apa pun pada host jarak jauh ?
Terima kasih!
rsync
tolong?Jawaban:
Anda memerlukan perintah rsync di server, tetapi Anda tidak perlu menjalankan daemon.
Dapatkan biner rsync yang bekerja di server, meletakkannya di suatu tempat di rumah Anda, dan menambahkan bendera ini ke baris perintah Anda:
--rsync-path=/home/user/path/to/rsync
.Jika Anda tidak ingin menyalin rsync ke server, Anda dapat menggunakan scp, atau sshfs.
Dalam hal ini rsync akan berjalan sepenuhnya secara lokal, tetapi perubahan akan disebarkan ke server.
sumber
Anda perlu memiliki rsync pada host jarak jauh - belum tentu server rsync (yang, saya percaya, toh tidak akan menangani koneksi ssl), tetapi rsync pada kotak lokal perlu berbicara dengan rsync pada kotak remote. Anda menggunakan ssh untuk menghubungkan keduanya.
Dengan asumsi rsync memang ada pada kotak remote, itu tidak dalam jalur pencarian default untuk shell login ssh Anda. Bergantung pada preferensi dan izin Anda pada kotak jarak jauh, Anda dapat mencoba
atau yang serupa. Jika rsync sebagai executable (vice server) tidak ada pada remote host, itu harus ditambahkan.
sumber
Tidak banyak gunanya menggunakan rsync tanpa menjalankan daemon rsync pada remote host, terlepas dari solusi sshfs kreatif yang diusulkan di atas. Seluruh gagasan efisiensi dalam rsync adalah untuk memiliki dua contoh membandingkan salinan lokal mereka dari dataset dengan menghitung checksum secara lokal, membandingkannya melalui jaringan, dan hanya mentransmisikan data aktual untuk bagian-bagian dari file-file yang sebenarnya berbeda.
Jika Anda menggunakan sshfs atau pemasangan jaringan apa pun, itu hanya menyembunyikan fakta bahwa ia harus menyalin seluruh dataset di jaringan dari host jarak jauh untuk menghitung checksum secara lokal, dan kemudian mengirimkan perbedaan di atas itu. Akan lebih cepat dan lebih murah untuk menghapus semuanya secara lokal dan 'scp -r' lot.
sumber
Coba SCP . Karena Anda sudah mendapatkan akses ssh, Anda tidak perlu menginstal apa pun di host jarak jauh :)
Untuk menyalin file dari host jarak jauh ke localhost gunakan:
Atau salin file dari localhost ke host jarak jauh dengan:
sumber
scp -r