Задание AT не запускает скрипт, но скрипт запускается, если он вставлен в командную строку - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть три файла для уведомления моего списка электронной почты при каждой публикации в блоге: «functions_plugin.php» - содержит new_post_notify (), который создает ->

«run_email_processor.sh» в html папку и задает задание AT на сервере для его запуска .—>

«run_email_processor.sh» касается «email_processor.php» на сервере, который создает электронную почту, используя аргументы из сценария. sh. Он просматривает список писем, отправляющих построенное письмо на каждый адрес. Он также записывает файл журнала в тот же каталог со всеми адресами, отправленными по электронной почте.

ПРОБЛЕМА «run_email_processor.sh» в задании AT обычно содержит следующее содержимое:

#!/bin/bash
php -f ../var/www/html/wp-admin/email_processor.php arg1 arg2 arg3 arg4 arg5

Если я вставьте содержимое в командную строку и нажмите Enter, нисходящий процесс ведет себя как ожидалось, отправляя все электронные письма.

Однако, если вместо этого я позволю заданию AT выполнить сценарий, ничего не произойдет.

- Задание AT принадлежит www-data: www-data.

-email_processor. php имеет полные права доступа (для тестирования).

- задание AT выглядит следующим образом используя atq:

45      Tue Feb 25 13:30:00 2020 a www-data

- Используя - c 45, я могу просмотреть содержимое задания AT.

-Как указано выше, если я копирую / вставляю содержимое в командную строку и запускаю его, все работает как положено.

ВОПРОС Почему это работает при вставке в командную строку, но не когда запускается с задания AT ???

...