У меня есть три файла для уведомления моего списка электронной почты при каждой публикации в блоге: «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 ???