我正在尝试设置一个自动备份系统以将我的 Raspberry Pi 数据备份到我的 Mac Mini。但是,从 RPi 调用 borg init 和 borg create 到远程 Mac Mini 存储库主机似乎都无法到达在 Mac Mini 上运行的 borg 服务器。
在 Mac Mini 上:
% sudo borg serve --debug --restrict-to-path /Users/borg/BorgRepos/RetroPie
$LOG DEBUG borg.logger Remote: using builtin fallback logging configuration
$LOG DEBUG borg.archiver Remote: 33 self tests completed in 0.12 seconds
在树莓派上:
$ sudo borg create --debug --stats borg@octolen:/Users/borg/BorgRepos/RetroPie2::Friday2 RetroPie
using builtin fallback logging configuration
35 self tests completed in 0.59 seconds
SSH command line: ['ssh', 'borg@octolen', 'borg', 'serve', '--umask=077', '--debug']
Password:
Remote: zsh:1: command not found: borg
Connection closed by remote host. Is borg working on the server?
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/borg/archiver.py", line 4455, in main
exit_code = archiver.run(args)
File "/usr/lib/python3/dist-packages/borg/archiver.py", line 4387, in run
return set_ec(func(args))
File "/usr/lib/python3/dist-packages/borg/archiver.py", line 134, in wrapper
make_parent_dirs=make_parent_dirs, args=args)
File "/usr/lib/python3/dist-packages/borg/remote.py", line 577, in __init__
raise ConnectionClosedWithHint('Is borg working on the server?') from None
borg.remote.ConnectionClosedWithHint: Connection closed by remote host. Is borg working on the server?
Platform: Linux retropie2 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l
Linux: debian 10.13
Borg: 1.1.9 Python: CPython 3.7.3
PID: 28539 CWD: /home/pi
sys.argv: ['/usr/bin/borg', 'create', '--debug', '--stats', 'borg@octolen:/Users/borg/BorgRepos/RetroPie2::Friday2', 'RetroPie']
SSH_ORIGINAL_COMMAND: None
我确实将 /usr/bin/borg 添加到允许传入连接的 Mac 防火墙应用程序列表中。我在这里错过了什么?
如果你致力于使用
borg
我没有什么可以提供的。如果您只想备份 RPi 上的某些文件(而不是整个 SD 卡的“图像备份”),我建议您考虑rsync
.您的第一份工作将是了解
rsync
. 在顶层,rsync
更新位于指定目的地的文件以匹配指定源中的文件。这是一种单向操作;即(source ==> destination)rsync
不会用目标中的文件更新源中的文件- 即使它们更新。事实上,很容易错误地“更新”目标文件——用旧文件覆盖新文件!rsync
提供了多种选择来完成它的工作。在顶层,我会说有三个选项——假设只涉及两个主机是你的 MacMini 和你的 RPi。例如,如果您的“系统”包括 NAS 或可移动媒体,那么选项的数量就会增加。但对于 2 主机系统,四个选项是:rsync
为服务/守护进程- 在 Mac 或 RPi 上。官方文档对这些流程和角色的解释比我的要好得多。你应该通读这篇文章,并首先做出这些基本决定。您可能希望在这里考虑许多因素——这些因素将决定您的实施是否满足您的需求。例如,如果您的其中一台主机 24x7 全天候运行,而另一台主机间歇性地断断续续,这可能表明将 24x7 系统用于服务器角色。这也取决于您用来启动备份/同步的调度程序;例如
cron
,systemd
和launchctl
(仅限 Mac)。是的——这可能会有点复杂,但您也可以自由做出选择,如果您有更好的主意,然后再进行更改。我会在这里停下来。
rsync
如果您选择将其用作解决方案的一部分,您可能会有更详细的问题。我没有在这里提到图像备份解决方案,因为它是特定于 RPi 的,并且在 RPi SE 中有所介绍,但它可能是您所处情况的更好工具。在任何一种情况下,一旦您选择了前进的道路,请随时就任何一种情况提出后续具体问题。reddit 用户 Moocha 和 Justin473说: