【问题标题】:Birt 2.5.2 report generates empty table data when run from a cron jobBirt 2.5.2 报告从 cron 作业运行时生成空表数据
【发布时间】:2011-02-21 11:40:18
【问题描述】:
我有一个运行 genReport.sh 以创建 .pdf 格式的报告的 shell 脚本,当它从命令行运行时它可以完美运行。报告的数据源是 ClearQuest 数据库。
从 CRON 作业运行时,会创建 .pdf 文件,但仅显示各种报告和列标题,并且报告的数据丢失。脚本执行期间没有向 STDERR 报告错误。
这对我来说是“环境变量”。
目前,shell 脚本定义如下:
CQ_HOME
BIRT_HOME
ODBCINI
ODBCINST
LD_LIBRARY_PATH
如果是环境问题,我错过了环境的哪一部分?
【问题讨论】:
标签:
shell
scripting
cron
birt
clearquest
【解决方案1】:
没有看到脚本,这只是猜测。这可能是引用问题,或者与文件或可执行文件的相对路径有关,应该是绝对的。通常,问题是$PATH 中列出的目录在 cron 的环境中与在用户的环境中不同。您可以做的一件事是在您的脚本中添加这一行:
env > /tmp/someoutputfilename.$$
从命令行和cron 运行脚本并进行比较。
【解决方案2】:
结果证明,执行此操作的神奇之处在于评估 clearquest -dumpsh 命令的输出,该命令又需要设置 TZ 变量。该命令输出十几个变量。