У меня есть приложение командной строки, в котором мне нужно реализовать какой-то планировщик для запуска сценария один раз после выполнения первого сценария.
Теперь я пытаюсь запустить скрипт через минуту после выполнения с помощью этой директивы:
$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.
Я не могу понять эту ошибку, так как, как я упоминал выше, скрипт работает, и директива выполняется без проблем или ошибок, когда я запускаю его без at.
Есть ли что-то, чего я не вижу, почему эта ошибка может быть выброшена?
Ты скучаешь /usr/sbin/sendmail
или что-то возможно?
Эта ошибка at
я думаю, что он не может отправить почту с выводом команды, которую он выполнил.
Других решений пока нет …