Rsync over ssh, berfungsi dengan baik setiap saat.
Namun, mencoba rsync ke host yang memungkinkan hanya login sftp, tetapi bukan login ssh, memberikan kesalahan berikut:
rsync -av / source ssh user @ remotehost: / target /
versi protokol tidak cocok - apakah shell Anda bersih? (lihat halaman manual rsync untuk penjelasan) kesalahan rsync: ketidakcocokan protokol (kode 2) di compat.c (171) [pengirim = 3.0.6]
Inilah bagian yang relevan dari halaman manual rsync:
Pesan ini biasanya disebabkan oleh skrip startup atau fasilitas shell jarak jauh yang menghasilkan sampah yang tidak diinginkan pada stream yang digunakan rsync untuk pengangkutannya. Cara mendiagnosis masalah ini adalah dengan menjalankan remote shell Anda seperti ini:
ssh remotehost /bin/true > out.dat
lalu lihat out.dat. Jika semuanya bekerja dengan benar maka out.dat harus berupa file dengan panjang nol. Jika Anda mendapatkan kesalahan di atas dari rsync maka Anda mungkin akan menemukan bahwa out.dat berisi beberapa teks atau data. Lihat isinya dan coba cari tahu apa yang memproduksinya. Penyebab paling umum adalah skrip startup shell yang tidak dikonfigurasi dengan benar (seperti .cshrc atau .profile) yang berisi pernyataan keluaran untuk login non-interaktif.
Mencoba ini di sistem saya menghasilkan yang berikut di out.dat:
ssh-dummy-shell: Perintah tidak diizinkan.
Seperti yang saya pikir, tuan rumah tidak mengizinkan login ssh.
Tautan berikut menunjukkan bahwa mungkin untuk menyelesaikan tugas ini menggunakan sekering dengan sshfs - namun sangat lambat, dan tidak cocok untuk penggunaan produksi.
Apakah ada peluang mendapatkan rsync sftp untuk bekerja?
csync /home/csync sftp://csync@krikkit.galaxy.site:2222/home/csync
Lihat jawaban ini .
lftp -e "mirror -eRv /local/dir/ /remote/dir; quit;" sftp://user@server:port