Saya telah menggunakan dari waktu rsync / ssh untuk mencadangkan konten host bersama saya ke Synology NAS pribadi saya (212j dalam hal ini), dan itu bekerja dengan cukup baik. Sebagai informasi, saya menggunakan ssh
koneksi tanpa kata sandi .
3 hari yang lalu, saya memperbarui perangkat lunak NAS saya dan karena (atau setidaknya saya percaya itu sejak itu), cadangan tidak akan berfungsi lagi. Saya mendapatkan kesalahan berikut di host:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only
..yang saya tidak mengerti. selain itu tidak ada yang berubah yang saya ketahui dari sumber dan tujuan yang dapat dikaitkan dengan rsync
atau ssh
, saya memang memeriksa beberapa hal dan semua tampaknya baik-baik saja:
- Saya masih dapat terhubung melalui
ssh
dari host ke NAS saya dengan pengguna yang baik, jadi hal-hal ssh seperti kunci belum berubah. - Saya juga memiliki izin file yang benar pada NAS (saya memeriksa, dan juga mencoba membuat file, direktori, .. dengan pengguna yang digunakan
rsync
melaluissh
).
Saya membaca di sana-sini bahwa kesalahan itu berarti bahwa saya harus memastikan bahwa saya rsyncd.conf
memiliki hak read only = no
di dalamnya, tetapi sejauh yang saya tahu, saya tidak pernah menggunakan rsyncd
sebaik saya tidak pernah mengkonfigurasi apa pun untuk itu dan sampai sekarang itu berfungsi seperti pesona. .
Saya menggunakan perintah berikut untuk melakukan backup:
rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/
Jadi saya mandek dan benar-benar tidak tahu apa yang terjadi.
Edit:
Seperti yang disarankan dalam komentar, saya juga mencoba mengirimkan perintah ke ssh (tetapi tidak dari dalam sesi ssh), yang bekerja seperti yang diharapkan, dan juga mencoba perintah rsync tunggal, yang tidak berfungsi, gagal seperti perintah cadangan lengkap.
(sharedHost):hostuser:~ > touch test.txt
(sharedHost):hostuser:~ > rsync test.txt remote_backup:backups/test.txt
ERROR: module is read only
rsync error: syntax or usage error (code 1) at main.c(1034) [Receiver=3.0.8]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]
dan
(sharedHost):hostuser:~ > ssh remote_backup 'touch /abs_path_to_backups/backups/test2.txt && echo "ProoF" > /abs_path_to_backups/backups/test2.txt'
(sharedHost):hostuser:~ > ssh remote_backup 'cat /abs_path_to_backups/backups/test2.txt'
ProoF
Jawaban:
Saya memiliki masalah yang sama setelah memperbarui NAS Synology saya ke DSM 4.1. Saya juga melakukan rsync atas SSH. Dalam situasi saya menggunakan rsync user root @ ip juga berfungsi tetapi meninggalkan file di server dengan root pemilik yang tidak saya inginkan.
Saya menemukan di antarmuka pengguna admin NAS, bahwa untuk beberapa alasan di ControlPanel-> Users-> MyRSyncUser-> Edit -> "Priviliges setup" tidak ada akses baca / tulis ke rumah. Tujuan RSYNC saya ada di bawah rumah.
Pengaturan ini untuk hak istimewa berhasil untuk saya. Saya harap ini membantu.
sumber
rsync something nas:/volume2/homes/foo/bar/
bukannyarsync something nas:bar/
).Saya menyingkirkan ERROR: modul hanya dapat dibaca dengan mengubah path jarak jauh dari / var / services / homes / rsync ke / volume2 / homes / rsync
DSM 5.1
sumber
Saya mengalami masalah yang sama setelah memutakhirkan ds1010 synology + ke dsm 4.1-2661.
Saya tidak punya waktu untuk memahami apa yang terjadi pada rsync yang disediakan oleh synology tetapi tampaknya tidak standar. Jadi, inilah solusi saya ...
Saya tidak ingin meretas hak istimewa (pengaturan multi-pengguna), jadi saya telah mengkompilasi ulang rsync secara statis di laptop saya, kemudian saya mentransfer biner pada nas sinologi.
Anda dapat memberitahu rsync untuk menggunakan biner baru Anda, bukan biner default, dengan parameter ini:
Sekarang saya dapat terus menggunakan duplikat dengan rsync, dengan menambahkan parameter berikut ke duplikat:
sumber
./configure --host=armv7 CFLAGS=-static EXEEXT=-static --prefix=/opt CC=arm-unknown-linux-gnueabi-gcc && make && arm-unknown-linux-gnueabi-strip rsync && make DESTDIR=$PWD/../prefix install
. Letakkan biner di / opt / bin / di NAS. Saya juga harus memberi pengguna cadangan shell di / etc / passwd dengan mengubah / sbin / nologin ke / bin / sh (Harus ada beberapa opsi yang lebih aman).Saya memiliki masalah yang sama, tetapi saya tidak menggunakan pengguna khusus untuk rsync.
Saya harus memperbaiki hak istimewa di Control Panel -> Folder bersama.
sumber
Saya memiliki masalah serupa saat terhubung ke Synology 211j melalui sst Putty. Saya harus mengaktifkan
"Control Panel -> Network backup -> Aktifkan layanan backup jaringan".
Ini bekerja sekarang.
sumber
Saya membuatnya bekerja dengan masuk sebagai root, bukan admin atau pengguna biasa.
sumber