我有两个Perl脚本:一个从一个系统中提取数据并写入CSV文件,另一个在第一个脚本收集IP地址列表以推送文件后通过推送一系列文件来针对该数据执行
当我在命令行上手动运行该命令时,我可以看到生成的第一个命令的结果,获取电子邮件,然后可以看到最后一个运行了该命令的结果和电子邮件的命令。但是今天,当第一个脚本由cron运行时,我只收到带有IP地址列表的电子邮件,而不是推入主机的文件的结果。该命令运行所需的时间有所不同,但通常需要1-2分钟。
这是在第一个Perl脚本中运行的最后几行。如果存在符合拉取条件的主机,则电子邮件将带有附件发送,并且一旦执行,最后一行将参考包含主机IP的输出CSV文件执行推入。
system( "echo '' | mailx -s \"$payloademailsub\" -a $payloadoutputFile -a $wlsinfoFile $emails < /dev/null" );
}
else {
system( "echo '' | mailx -s \"$payloademailsubnodup\" $emails < /dev/null" );
}
system("/bin/bash /usr/application/co/bin/webLogicPayload.bash < /usr/application/co/reports/pushPayload/weblogicHosts.csv");
这是cron条目。需要source命令来引入本地自定义变量,而app_setup是与应用程序相关的文件。
0 15 * * 1-5 . $HOME/app_setup; source ~/.bashrc; $HOME/application/co/weblogicHostReport.pl
假设这与cron有关,因为它将手动运行,是否应该在cron条目中设置任何内容或更改Perl脚本以帮助完全执行此操作?