【问题标题】:Cacti - Changing environment variables at runtime.Cacti - 在运行时更改环境变量。
【发布时间】:2011-07-29 17:15:07
【问题描述】:

我正在使用 Cacti 脚本/命令方法来收集数据。我有一个连接到 Oracle 数据库并返回两个数字的 perl 脚本。此脚本在命令行 (Unix) 上运行时完美运行。

为了让这个 perl 脚本正常工作,我必须定义几个环境变量,以便它能够连接到 Oracle。

$ENV{ORACLE_HOME} = ...etc...

但是 - 当我在 Cacti 中创建一个数据输入方法来运行这个 perl 脚本时...我收到一个错误,指出它无法找到 DBD/Oracle.pm。 (这是因为 Perl 没有设置环境变量)。

有谁知道为什么在我在命令行上运行时正确设置了 ENV 变量?

但是当 Cacti 运行时它们不能设置?

顺便说一句 - Cacti 正在以 root 身份运行 perl 脚本。

【问题讨论】:

  • 您能告诉我们您的 Oracle.pm 的位置并给我们看脚本吗?
  • $ORACLE_HOME 不会影响 perl 查找 DBD/Oracle.pm 的能力。如果use DBD::Oracle 报告Cant' locate DBD/ORacle.pm in ...,则@INC 设置不正确。查看环境变量$PERL5LIB$PERLLIB 的设置,它们会影响@INC 的初始设置。总的来说,我发现一旦安装了DBD::Oracle,就不需要设置$ORACLE_HOME就可以使用了。

标签: perl environment-variables cacti


【解决方案1】:

解决了!

问题最终是 Root 没有对 Oracle.pm 的读取权限。

一旦我停止调查 ENV 变量是问题所在......权限是下一个明显的问题。

感谢您对 cme​​ts 的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-26
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    相关资源
    最近更新 更多