Rsync over ssh:突然出現“ERROR: module is read only”
一段時間以來,我一直使用 rsync/ssh 將我的共享主機內容備份到我的個人 Synology NAS(212j),並且效果很好。有關資訊,我使用無密碼
ssh
連接。3 天前,我更新了我的 NAS 軟體,因為(或者至少我相信是從那以後),備份將不再起作用。我在主機上收到以下錯誤:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32) ERROR: module is read only
..我不明白。除了我所知道的與
rsync
or相關的源和目標沒有任何變化之外ssh
,我確實檢查了一些事情,一切似乎都很好:
- 我仍然可以通過
ssh
良好的使用者從主機連接到我的 NAS,所以像密鑰這樣的 ssh 東西沒有改變。- 我在 NAS 上也有正確的文件權限(我檢查過,還嘗試使用
rsync
through使用的使用者創建文件、目錄、..ssh
)。我在這里和那裡讀到這個錯誤意味著我必須確保我
rsyncd.conf
擁有read only = no
它的權利,但據我所知,我從來沒有使用rsyncd
過,因為我從來沒有為它配置任何東西,直到現在它就像一個魅力。 .我使用以下命令進行備份:
rsync -ab --recursive \ --files-from="$FILES_FROM" \ --backup-dir=backup_$SUFFIX \ --delete \ --filter='protect backup_*' \ $WDIRECTORY/ \ remote_backup:$REMOTE_BACKUP/
所以我被卡住了,真的無法弄清楚發生了什麼。
編輯:
正如評論中所建議的,我還嘗試將命令傳遞給 ssh(但不是從 ssh 會話內部),它按預期工作,並且還嘗試了一個 rsync 命令,它沒有工作,就像完整的備份命令一樣失敗。
(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]
和
(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
將 Synology NAS 更新到 DSM 4.1 後,我遇到了同樣的問題。我也通過 SSH 進行 rsync。在我的情況下,使用 rsync 使用者 root@ip 也可以工作,但將文件留在伺服器上的所有者 root 是我不想要的。
我在 NAS 管理員使用者界面中發現,出於某種原因,在 ControlPanel->Users->MyRSyncUser->Edit->“Priviliges setup”中沒有對家庭的讀/寫訪問權限。我的 RSYNC 目的地位於房屋下方。
將此設置為 privilidge 對我有用。我希望這有幫助。
我擺脫了 ERROR: module is read only 通過將遠端路徑從 /var/services/homes/rsync 更改為 /volume2/homes/rsync
帝斯曼 5.1