Ssh

Rsync over ssh:突然出現“ERROR: module is read only”

  • November 8, 2021

一段時間以來,我一直使用 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 

..我不明白。除了我所知道的與rsyncor相關的源和目標沒有任何變化之外ssh,我確實檢查了一些事情,一切似乎都很好:

  • 我仍然可以通過ssh良好的使用者從主機連接到我的 NAS,所以像密鑰這樣的 ssh 東西沒有改變。
  • 我在 NAS 上也有正確的文件權限(我檢查過,還嘗試使用rsyncthrough使用的使用者創建文件、目錄、.. 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

引用自:https://serverfault.com/questions/425589