2016-11-29 3 views
0

У меня есть файл sh с файловыми командами удаления.Запустить файл sh из php с помощью cron

Я запустить его из PHP так:

shell_exec("sudo -n ./truncatefiles.sh 2>&1"); 

То работает отлично, если я открываю PHP файл из браузера, но не работает с запланированной вкладке хрон.

PHP пользователь: www-data

Если я запустить whoiami из хрон, возвращает те же: WWW-данные

Я добавил это к моему visudo:

www-data ALL=(ALL) NOPASSWD: /www/sites/..../importscript/truncatefiles.sh 

Shell Exec для этого ш файла возвращается (от cron):

sudo: извините, для запуска sudo требуется пароль

Почему он работает в цирке?

Что мне делать, чтобы заставить его работать?

+0

это веб-сервер apache, не так ли? – mirko911

+0

yes, its 2.2.16 (Debian) – bbenhu

ответ

0

Пожалуйста, попробуйте сделать следующее, Попробуйте войти свой выход из crotab в файл, * myscript.php >> /var/log/myjob.log 2> Таким образом, вы можете отлаживать скрипт. 1. Также проверьте пользователя и разрешения для вашего сценария оболочки, php-файла. 2. попробуйте с sudo crotab -e

+0

Я знаю ответ: sudo: извините, пароль необходим для запуска sudo – bbenhu

+0

PHP-файл 777, sh файл 777 – bbenhu

+0

shell exec this way: ./truncatefiles.sh 2> & 1 ask пароль, начиная с sudo -n возвращает пароль. Больше ответа :( – bbenhu

Смежные вопросы