设置 Frost
frost init 会一次一个问题地引导你完成设置。想查看或修改设置时,随时可以再运行它。
#设置界面
在终端中,frost init 会打开一个全屏的设置界面。窗口至少需要 56 列宽、18 行高。最下面一行始终显示可以按的键:[esc] 返回上一步,[q] 不保存直接退出。
#存储
选择备份存放的位置:
- Permafrost,推荐的选项。它只需要一个访问密钥,别的都不用设置。如果你还没有密钥,Frost 会打开 getfro.st/perma,让你在那里获取一个。参见 Permafrost。
- S3-compatible(S3 兼容存储),会打开第二个列表:Amazon S3、Backblaze B2、Cloudflare R2、Wasabi,或者适用于 Ceph、SeaweedFS 以及其他支持 S3 协议的服务的 Other S3-compatible(其他 S3 兼容存储)。设置程序只会问这个服务需要的信息,并告诉你每一项答案在哪里找。参见云服务商和其他 S3 兼容存储。
- Self-hosted(自托管),用于通过 SSH 访问的你自己服务器上的文件夹。设置程序会询问服务器的地址和文件夹,并帮你把 Frost 的 SSH 密钥添加到服务器上。参见自托管。
- Local drive(本地磁盘),用于内置或外接磁盘上的文件夹。设置程序会询问文件夹的完整路径。参见本地磁盘。
粘贴私密密钥时,按 [tab] 可以显示或隐藏它。
回答完之后,Frost 会连接存储,检查它能否写入、读取、列出和删除一个小的测试对象,以及存储是否支持条件写入。如果有问题,设置程序会用通俗的话说明原因,并带你回到最可能出错的那个答案。你输入的其他内容都会保留。
#文件夹
输入要备份的文件夹的完整路径,然后按 [enter]。~ 代表你的主文件夹,所以 ~/Documents 也可以。想加多少个文件夹都行,Frost 不会替你预先选择任何文件夹。
- Frost 以整个文件夹为单位备份。要备份单个文件,请添加它所在的文件夹。
- 已经在列表中的文件夹,或者位于列表中某个文件夹之内的文件夹,不会重复添加。添加一个包含了列表中某些文件夹的文件夹,会替换掉它们。
- 还不存在的文件夹会留在列表中,在它出现之前一直被跳过,比如没有插上的移动硬盘。
按 [↑] 进入列表,按 [x] 删除选中的文件夹。在空白的输入框中按 [enter] 进入下一步。
#跳过
这一步列出 Frost 在每次备份中都会排除的名称和模式。列表一开始是 Frost 的默认值:.DS_Store、Thumbs.db、*.tmp、*.swp、node_modules 和 .cache。想备份其中哪一项,就把它删掉。排除文件讲解了模式的写法。
#计划
选择 Frost 自动备份的频率:每小时、每 6 或 12 小时、每天或每周。选择 "Off"(关闭)就只在你运行 frost backup 时才备份。其他间隔以及备份的时间,都可以通过 frost config set 设置。参见自动备份。
#恢复短语
对于新的存储,Frost 会生成你的密钥,并以 24 个单词的形式展示。在你按 [v] 之前,这些单词一直是遮住的,这样你可以先确认没有别人能看到你的屏幕。把它们抄写下来,按 [enter],再输入设置程序要求的两个单词,以核对你抄写的内容。
如果存储中已经有 Frost 备份,设置程序会改为要求输入这些备份的恢复短语。如果这台电脑上已有的密钥就能打开它们,这一步会直接跳过。
#确认
确认界面会一次显示所有设置。用 [↑] 和 [↓] 选择一行,按 [e] 修改,最后按 [s] 保存。按 [v] 会显示你的密钥指纹,这是一个简短的 ID,可以标识你的密钥而不会泄露它。
保存时会写入你的设置和密钥,并创建计划任务。设置完成后,运行 frost backup --dry-run 预览第一次备份,或者运行 frost backup 直接开始。
#已经有备份的存储
设置程序一连接上存储,就会查找其中的 Frost 备份:
- 如果这台电脑上的密钥能打开它们,设置程序会直接连接,你的所有快照都会保留。
- 如果它们是用另一个密钥创建的,设置程序会要求输入那个密钥的恢复短语。之后 Frost 会在这台电脑上使用那个密钥。
- 如果存储是空的,但这台电脑的备份在别处,设置程序会在那里开始一组新的独立备份之前提醒你。你原来的备份会留在原处,但 Frost 只会显示新的那组。
如果你想迁移已有的备份,请参见迁移备份。
#再次运行设置
随时都可以运行 frost init。它会以你当前的设置打开,你可以只改一项然后保存。
全屏设置界面不会询问两个不太常用的设置,会保持它们原来的值:
- 你自己的 Permafrost 服务器:
storage.permafrost.url。 - S3 存储桶中的文件夹,默认是
frost:storage.s3.prefix。
要使用新位置,请用 frost config edit 修改,接受警告并保存,然后再次运行 frost init。frost config set 要求新位置已经有仓库。第一次设置自己的服务器时,请参见 Permafrost。参见设置项。
#没有全屏终端时
如果 Frost 不是在交互式终端中运行,比如输入来自管道,frost init 会改为一行一个地提出简单的问题。它不会显示 S3 服务列表,而是让你在 Permafrost、通用的 S3 兼容存储桶、Self-hosted 和 Local drive 之间选择,选择存储桶时还会询问其中的文件夹。列表用逗号分隔,输入 - 表示跳过列表为空。在这种模式下,如果你需要 Permafrost 密钥,Frost 同样会打开 getfro.st/perma,并且可以把它的 SSH 密钥添加到你的服务器:由 ssh 询问你的密码,或者由 Frost 显示那一行让你自己添加。