我以前运行的备份脚本有问题。
简而言之,它只是调用口是心非,并命令它通过 rsync 将文件复制到 NAS。
但是当我现在启动我的脚本时,它总是返回权限被拒绝的错误。
我已将问题缩小到 rsync 无法正常工作。
在我的测试设置中,我现在执行以下代码:
rsync -av test/ remoteuser@nas.domain.com
发生的事情是在当前目录中创建了一个名为“remoteuser@nas.domain.com”的文件夹,并且 rsync 将来自测试的文件同步到该新文件夹中。 如果我在远程 (...:/home/remoteuser/backup) 上附加目标目录,它会返回前面提到的“权限被拒绝”错误
Permission denied, please try again.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]
顺便说一句,通过 ssh 连接到我的 nas 没有问题。
最佳答案
感谢您的建议,但我已找到解决方案:
rsync 需要同时在客户端和服务器上运行才能同步文件。我检查过之前是否安装了 rsync,确实是。但是,当我尝试使用 rsync 在 NAS 上本地复制一个测试文件时,出现服务未运行的错误。
我发现由于某些未知原因,需要在调用中将路径作为选项传递给 rsync,如下所示:
rsync --rsync-path=/usr/syno/bin/rsync ...
现在脚本又可以运行了!
作为旁注: 由于我口是心非,因此我必须按如下方式编写完整命令:
duplicity --rsync-options="--rsync-path=/usr/syno/bin/rsync" ~ rsync://remoteuser@nas.domain.com:/home/remoteuser/backup
关于command-line-interface - rsync 复制到本地而不是远程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29818576/