![如何在 shell 中使用密码作为外部变量?](https://linux22.com/image/22163/%E5%A6%82%E4%BD%95%E5%9C%A8%20shell%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%AF%86%E7%A0%81%E4%BD%9C%E4%B8%BA%E5%A4%96%E9%83%A8%E5%8F%98%E9%87%8F%EF%BC%9F.png)
我有一个 MySQL 备份脚本,用于备份 MySQL 数据库。非常有用,它使用 cron 以固定的时间间隔运行。但是,我需要以某种方式为该脚本提供 MySQL 密码。每个服务器上的这个密码都不相同,但当我管理多台服务器时,这个特定的脚本是 git 控制的存储库的一部分,偶尔会与其他一些脚本同步。现在,我的问题是:如果密码不同,如何使用相同的脚本作为 git 存储库的一部分?我能想到的解决方案是将密码定义为 shell 中的外部/全局变量,而不是脚本本身,这样我的脚本就可以在每台服务器上保持相同。但是,我不确定这样做的正确方法是什么,也不确定这是否是一个好主意(安全/最佳实践方面)。
有什么想法吗?
答案1
好吧,至少在 git 中保存密码肯定是个坏主意。
最好使用 .config 文件。另外,将一些 .config-example 添加到 git 中,但具有不同的扩展名,当然不是真正的密码,这也很不错——它允许同步代码和配置中这些变量的更改,这样的 .config-example 也可以用作起点对于新安装,例如。