Я пытаюсь использовать crontab для извлечения данных из удаленной базы данных, а затем сохранять данные на локальном компьютере.
Данные извлекаются с помощью следующего php-скрипта
exec("mysql --user='username' --host='host' --password='password' --database='db' --execute='select * from table'", $output, $return);
file_put_contents("/Path_to_file/file.txt", $output[0]);
А это кронтаб
06 13 * * * /usr/bin/php /Path_to_php_script/file.php
Теперь скрипт php работает нормально, если я запускаю его в обычном режиме из браузера или с терминала, но когда я запускаю его как crontab, ему удается сохранить файл в указанном месте, но файл всегда пуст.
Кроме того, пользователь crontab совпадает с пользователем, когда файл запускается через браузер или терминал.
Кто-нибудь знает, почему тот же сценарий не работает при выполнении через crontab?
Спасибо за подсказку, теперь работает с локонами. Но все же было бы неплохо узнать, почему приведенный выше код не работает.






У вас есть wget на вашем сервере Linux? Используйте это в задании cron, чтобы просмотреть правильный URL