从 RT_SiteConfig.pm 解析 $DatabasePassword 的值

从 RT_SiteConfig.pm 解析 $DatabasePassword 的值

我正在编写一个 Bash shell 脚本,用于每天备份我们的请求跟踪器 (RT) MySQL 数据库。我不想在 shell 脚本中硬编码 MySQL 数据库用户的密码,而是想从 RT 的 RT_SiteConfig.pm 文件中解析它。RT_SiteConfig.pm 中的相关行如下所示:

Set($DatabasePassword , 'db_pw_here');

鉴于上面的行,提取字符串“db_pw_here”的“最干净”的方法是什么?

答案1

“最干净”的方法是编写一些 Perl 代码来使用 RT API 提取 的值DatabasePassword。我现在无法访问 RT 实例来尝试这一点,但这应该不会太难。

您可能可以将单行 Perl 程序集成到 bash 脚本中来获取该值,例如:

perl -MRT::Config -e 'print $RT::Config::DatabasePassword'

请注意,此命令行完全是虚构的。请阅读文档以找到实际调用。

现在,不太干净但可能非常有效的方法是使用以下方法sed来提取信息:

sed -n "/Set(\$DatabasePassword/ s/.*'\([^']*\)'.*/\1/p"

相关内容