command-line-interface - rsync 复制到本地而不是远程

标签 command-line-interface rsync duplicity

我以前运行的备份脚本有问题。

简而言之,它只是调用口是心非,并命令它通过 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/

相关文章:

linux - 期望带有引号的 rsync 脚本

python - Pydrive 后端不适用于口是心非——python

php - 从命令行执行脚本时,即使使用 ob_start() 也会将输出打印到终端

linux - linux下自动创建别名

linux - 通过 SSH 的 rsync 仅保留 www-data 拥有的文件的所有权

macos - Duplicity 不喜欢 Mavericks 上的最大打开文件设置

audio - 需要一种在sox生成的wav文件上写入 header 的方法

Linux删除带空格的文件

Node.js 多行输入