如果不想深入研究复杂的备份解决方案,总是可以编写一个 shell 脚本来收集数据并对其进行压缩。由于隐私问题,可能需要使用合适的工具(带密码的 zip/rar、gpg 等)来加密备份存档。
现在谈到自动化,揭示密码步骤的问题会产生以下问题:
- 从控制台运行备份脚本时,只需以交互方式输入密码。
- 通过 cron 运行脚本时,这是不可能的。
- 在 shell 脚本中硬编码密码既糟糕又丑陋。
我相信这是这个问题的常见情况。用密码加密数据问题的通用或典型解决方案是什么,但以自动方式?
如果不想深入研究复杂的备份解决方案,总是可以编写一个 shell 脚本来收集数据并对其进行压缩。由于隐私问题,可能需要使用合适的工具(带密码的 zip/rar、gpg 等)来加密备份存档。
现在谈到自动化,揭示密码步骤的问题会产生以下问题:
我相信这是这个问题的常见情况。用密码加密数据问题的通用或典型解决方案是什么,但以自动方式?
当您拥有像Duplicity这样已经可以为您完成所有这些工作的东西时,为什么还要重新发明轮子呢?Duplicity 处理增量备份,并且已经可以编写脚本通过 cron 运行。它还可以使用 GPG 加密备份并在还原时解密。更好的是它可以处理通过多种方法进行现场或非现场备份。
我推荐duplicity和ftplicity作为前端。借助这些工具,您可以使用 GPG 对备份进行签名和加密。
一种解决方案是使用非对称加密对存档进行加密。这样备份服务器只需要公钥。
例如,您可以使用 GPG 来做到这一点。它在GPG 手册的“入门”部分(“生成新的密钥对”、“加密和解密文档”)中进行了解释。
但总的来说,我认为将密码放入某个配置文件没有问题。只需使普通用户无法读取上下文文件即可。然后任何可以阅读它的人都需要root / Admin权限,并且拥有该权限的人无论如何都拥有您的盒子。