У меня есть сценарий, который читает файлы из базы данных, находит их в каталоге и копирует в другой каталог как часть системы загрузки. Процесс следующий: 1. Пользователь загружает файл через ftp в / home / uploaduser 2. Пользователь вводит информацию в базу данных mysql 3. Cronjob (download.php) опрашивает базу данных, находит имя загруженного файла 4. То же задание cron проверяет / home / uploaduser для имени файла и копирует файл в другой каталог
Если я запустил download.php из командной строки, скрипт заработает. Если я запускаю его из crontab, он не может найти файл с помощью file_exists ().
Вот задание cron: * / 1 * * * * php /home/downloads/cron-scripts/download.php> / dev / null 2> & 1
Я попытался сменить владельца файлов на пользователя, который запускает cronjob, без разницы.
Cronjob устанавливается с использованием: crontab -e от имени пользователя, который также запускает сценарий. Пользователь, запускающий сценарий, находится в группе uploaduser, а права доступа к файлу группы uploaduser равны 664.
у вас есть что-то в ваших скриптах, что зависит от настроек среды? среда, в которой работает cron, обычно отличается от среды вашего пользователя.
перенаправьте вывод вашего скрипта в файл журнала вместо / dev / null, чтобы получить сообщение об ошибке.