3

我以前工作的备份脚本有问题。

简而言之,它只是调用 duplicity 并命令它通过 rsync 将文件复制到 NAS。

但是,当我现在启动我的脚本时,它总是返回一个权限被拒绝错误。

我已经把它缩小到 rsync 没有像我想象的那样工作。

在我的测试设置中,我现在执行以下代码:

rsync -av test/ remoteuser@nas.domain.com

发生的情况是,在当前目录中创建了一个名为“remoteuser@nas.domain.com”的文件夹,并且 rsync 将 test 中的文件同步到该新文件夹中。如果我在远程 (...:/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 没有问题。

4

1 回答 1

1

感谢您的建议,但我已经找到了解决方案:

Rsync 需要同时在客户端和服务器上运行才能同步文件。我已经检查过之前是否安装了 rsync,确实是这样。但是当我尝试在 NAS 上使用 rsync 在本地复制一个 testfile 时,我收到一个错误,表明该服务没有运行。

我发现由于某种未知原因,需要在调用中将路径传递给 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
于 2015-04-23T09:55:57.590 回答