Ketika sumber dan tujuan keduanya jauh, rsync mengeluh:
The source and destination cannot both be remote.
rsync error: syntax or usage error (code 1) at main.c(1156) [Receiver=3.0.7]
Apakah ada hambatan teknis yang tidak dapat diatasi untuk membuat rsync melakukan ini? Atau itu hanya kasus yang belum diimplementasikan? Tampaknya relatif mudah untuk membuat buffer lokal dalam memori yang memediasi transfer antara dua remote, memegang hash dan data.
EDIT
Karena orang-orang membuat beberapa saran singgung, saya telah memposting pertanyaan terpisah yang merinci kasus penggunaan khusus saya. Ini adalah dua yang terpisah, sungguh, dan saya pikir akan bermanfaat untuk mengetahui detail khusus ini untuk rsync
Jawaban:
mengapa tidak mencoba dan terhubung ke mesin jarak jauh dan mulai transfer dari sana. Jika Anda menggunakan ssh-keys, Anda dapat menggunakan pass agen untuk mengelola autentikasi untuk Anda.
Perintah ini akan mencatat Anda di remoteHostA dan menjalankan rsync dari sana.
sumber
tidak kesulitan melakukan ini.
sumber
Anda dapat mengatasi ini dengan memasang satu (atau keduanya) dari sistem file jarak jauh dengan
sshfs
. Kemudian, rsync akan memperlakukannya seolah-olah itu lokal.Sayangnya, ini akan menghasilkan banyak penggunaan bandwidth pada mesin yang memiliki sistem file yang terpasang
sshfs
, jadi saya akan merekomendasikan hanya melakukan ini dengan mesin yang memiliki banyak bandwidth antara Anda dan mesin ketiga.Tentu saja, solusi ideal adalah agar mesin berbicara langsung satu sama lain. Saya tidak bisa memikirkan alasan bagus mengapa mereka tidak boleh.
sumber