从perl脚本运行时,无法获取wget命令以将响应结果输出到文件



我正在通过cron运行一个perl脚本。我在脚本中有这样一行:

`wget --no-cache --output-document=${dir}index.html localhost > /dev/null 2>&1`;

这很好用。文件的内容将保存到磁盘上。

但我似乎无法做到这一点:

`wget -S --output-document=${dir}status.txt --spider -q -t 1 "example.com" > /dev/null 2>&1`;

文件已创建,但为空。在尝试其他事情时,我发现这是从命令行开始的:

wget -S --spider -q -t 1 "example.com" 1&>status.txt;

但是,当我将它放入perl文件时,该文件再次为空。我不确定发生了什么。cron作业正以我在命令行中使用的同一用户身份运行。

当我从Perl脚本运行系统命令时遇到问题,将命令字符串打印到STDOUT会很有帮助,这样你就可以看到Perl是否无意中插入了其中的任何部分。我不知道您是否正在使用";使用严格的";但它应该帮你收拾这个。

同样在cron文件中,将脚本的输出通过管道传输到调试文件,以查看是否遇到任何问题。包括";2>amp;1〃;语句,以便它也能捕获错误。

最新更新