如何在 shell 中使用密碼作為外部變數?

如何在 shell 中使用密碼作為外部變數?

我有一個 MySQL 備份腳本,用於備份 MySQL 資料庫。非常有用,它使用 cron 以固定的時間間隔運行。但是,我需要以某種方式為該腳本提供 MySQL 密碼。每個伺服器上的這個密碼都不相同,但當我管理多台伺服器時,這個特定的腳本是 git 控制的儲存庫的一部分,偶爾會與其他一些腳本同步。現在,我的問題是:如果密碼不同,如何使用相同的腳本作為 git 儲存庫的一部分?我能想到的解決方案是將密碼定義為 shell 中的外部/全域變量,而不是腳本本身,這樣我的腳本就可以在每台伺服器上保持相同。但是,我不確定這樣做的正確方法是什麼,也不確定這是否是一個好主意(安全/最佳實踐方面)。

有什麼想法嗎?

答案1

好吧,至少在 git 中保存密碼肯定是個壞主意。

最好使用 .config 檔案。另外,將一些.config-example 添加到git 中,但具有不同的擴展名,當然不是真正的密碼,這也很不錯——它允許同步代碼和配置中這些變量的更改,這樣的.config-example也可以用作起點對於新安裝,例如。

相關內容