我曾经使用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
过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