BorgBackup: 避免一直输入密钥

BorgBackup: 避免一直输入密钥
Photo by Markus Spiske / Unsplash

在 BorgBackup 中,如果每次输入命令都需要手动输入加密密钥或密码,可以通过以下方式略过这个步骤:

1. 使用 BORG_PASSPHRASE 环境变量

如果你使用的是简单密码保护,可以将密码保存在环境变量中,这样在执行 Borg 命令时自动使用该密码。

export BORG_PASSPHRASE="你的密码"

你可以将这一行添加到 ~/.bashrc 或 ~/.zshrc 文件中,以便每次打开终端时自动加载。

2. 使用 BORG_PASSCOMMAND 环境变量

如果你希望通过命令来安全地获取密码,可以使用 BORG_PASSCOMMAND。例如,密码保存在某个文件中,可以使用 cat 命令读取:

export BORG_PASSCOMMAND="cat /path/to/your/passwordfile"

同样,这一行可以添加到 ~/.bashrc 或 ~/.zshrc 文件中。

3. 使用 SSH 密钥进行认证

如果你的 Borg 存储库位于远程服务器上并通过 SSH 访问,可以配置 SSH 密钥免密登录。确保 SSH 密钥已添加到 ~/.ssh/authorized_keys 文件,并使用以下命令:

borg init --encryption=keyfile ssh://user@host/./backup-repo

这样,SSH 密钥将用于连接到远程服务器,而无需手动输入密码。

4. 脚本中临时设置密码

如果在脚本中运行 Borg 备份,可以在脚本中临时设置密码:

#!/bin/bash
export BORG_PASSPHRASE="你的密码"
borg create --compression lz4 m02:~/project/backup::backup-$(date +%Y-%m-%d) ~/project/library

这些方法都能帮你避免每次都手动输入密钥或密码。注意保护好密码,避免泄露风险。