使用 rsync 观看失败,权限被拒绝,而 rsync 单独工作正常
watch with rsync fails with permission denied, while rsync alone just works fine
我正在尝试将我的文件同步到云端:
rsync -avPze "ssh -i /path/to/my/key" [source] [destination]
这对我来说很成功。
但是,当我尝试对 watch
使用相同的命令以便每隔几分钟自动同步时,它不起作用并抛出错误:
watch -n120 rsync -avPze "ssh -i /path/to/my/key" [source] [destination]
错误:
Permission denied (publickey).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.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
已正确启动 source
和 destination
作为远端参数,路径是密钥的完整路径。 permission denied
错误具有误导性。
我正在尝试将我的文件同步到云端:
rsync -avPze "ssh -i /path/to/my/key" [source] [destination]
这对我来说很成功。
但是,当我尝试对 watch
使用相同的命令以便每隔几分钟自动同步时,它不起作用并抛出错误:
watch -n120 rsync -avPze "ssh -i /path/to/my/key" [source] [destination]
错误:
Permission denied (publickey).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.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
已正确启动 source
和 destination
作为远端参数,路径是密钥的完整路径。 permission denied
错误具有误导性。