定时 bashed ( at ) 运行但抛出错误

timed bashed ( at ) runs but throws error

我有一个命令行应用程序,我需要在第一个脚本执行后对 运行 脚本实施某种调度程序。

现在,我正在尝试 运行 执行时间后一分钟的脚本,使用此指令:

$dir = getcwd().'/';

    exec('echo '.$dir.'./prices get:inventorylist '.database_connector::getUserId().' '.database_connector::getLand().' --reportId="'.$this->reportRequestId.'" | /usr/bin/at now + 1 min');

在没有 echo 和 | 的情况下尝试 运行 /usr/bin/at now + 1 min 它 运行 非常好,没有抛出任何错误,我还检查了 at 是否正常工作,应该没问题。

好吧,实际上,脚本会在给定的额外时间后执行,但我一直在系统日志中收到此错误:

Jan 23 19:09:01 atd[6792]: Exec failed for mail command: No such file or directory.

我无法理解这个错误,正如我上面提到的,脚本是 运行ning 并且指令是 运行ning 当我 运行 没有at.

有什么我不明白为什么会抛出这个错误的吗?

您是否遗漏了 /usr/sbin/sendmail 之类的东西?

那个错误是 at 告诉你它无法发送带有命令输出的邮件 运行 我相信。