rsync失败,权限被拒绝,而rsync单独工作正常

时间:2016-09-10 20:00:24

标签: linux bash ssh rsync watch

我试图将我的文件同步到云端:

<div class="dm1" style="width: 500px/600px;">
<div class="to1">...</div>
<div class="to2">...</div>
</div>
<div class="dm2">
....
</div>
<div class="dm3"> /* div width is 500px/600px */
<div class="tx1">..Content..</div>
<div class="tx2">..Content..</div>
<div class="tx3">..Content..</div>
...
<div class="txn">..Content..</div>
</div>

这对我来说很成功。

但是,当我尝试使用与rsync -avPze "ssh -i /path/to/my/key" [source] [destination] 相同的命令以便每隔几分钟自动同步时,它不起作用并抛出错误:

watch

错误:

watch -n120 rsync -avPze "ssh -i /path/to/my/key" [source] [destination]

知道发生了什么事吗?

1 个答案:

答案 0 :(得分:1)

将整个rsync命令括在引号内,可以解决问题。

watch -n120 "rsync -avPze 'ssh -i /path/to/my/key' [source] [destination]" 

strace输出中观察到:

execve("/usr/bin/watch", ["watch", "-n120", "rsync", "-avPze", "ssh -i '/path/to/my/key'", "source"..., "destination"...], [/* 21 vars */]) = 0

虽然rsync已正确启动且sourcedestination是远端参数,而路径是密钥的完整路径,但permission denied错误会产生误导。