我写了一个监视脚本以查看一些日志进度,但是我坚持以下代码,
$fh = $ssh->capture("find $servers{$agent}{$log} -mmin +10") or die "Unable to run commandn";
chomp($fh);
if ($fh) {
print "Log are 10 minutes not moving. n";
}
else {
print "Log are running as usual. n";
}
此代码将带有以下输出,
无法运行命令
这表明发生了错误,但是我尝试通过ssh手动运行它,命令正常工作。
需要帮助来审查此代码。
如果 find
找不到, capture
返回一个错误的字符串,这是一个false值,因此die
被调用。
您可以检查是否出问题了是否拨打error
方法:
my $out = $ssh->capture("find $servers{$agent}{$log} -mmin +10");
$ssh->error and die "Unable to run command: " . $ssh->error;