![Borg 远程备份出现错误](https://linux22.com/image/739868/Borg%20%E8%BF%9C%E7%A8%8B%E5%A4%87%E4%BB%BD%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF.png)
尝试使用 borg 将机器 1 备份到远程机器 2(即 synology),出现错误
Remote: sh: borg: command not found
Connection closed by remote host. Is borg working on the server?
所有权限和防火墙都已测试。Machine1 可以 ssh 到 Machine2,但尝试borg init --encryption=repokey borgdemo@Machine2:./demo
从 Machine1 执行此操作时,会出现上述错误。尝试在 Machine2 上使用 borg 效果很好。有什么想法吗?
答案1
有时,你不能创建这样的符号链接在远程服务器上(机器 2 上的权限不足)
因此,处理不同路径的最快方法是使用--远程路径客户端的参数:
/usr/bin/borg init --remote-path /usr/local/bin/borg borgdemo@Machine2:./demo
...但最好的解决方案是在服务器端强制使用绝对路径在 ssh 配置上
$ cat .ssh/authorized_keys
command="/usr/local/bin/borg serve" ssh-ed25519 AAAAC...xyz
通过此设置,客户端通过 ssh 隧道建立的每个 Borg 连接都将在服务器端调用正确的二进制文件进行处理
答案2
哦,我在这里找到了答案。 https://pod.disroot.org/posts/e18176ef-415c-e091-c340-9b5239891533
因此,which borg
在 Machine1 上执行时,输出结果为/usr/bin/borg
,而在 Machine2 上输出结果为/usr/local/bin/borg
。只需在 Machine2 上创建一个符号链接,它看起来就像这样
borg -> /usr/local/bin/borg