dpnhp20440 2015-10-20 02:14
浏览 52
已采纳

在docker中执行owncloud cron

Im using php-apache image to create an owncloud installation. I want to use a system cronjob to execute cron.php, therefore I run:

RUN echo "*/3 * * * * php -f /var/www/html/cron.php >> /oc_data/cron.log" > /cron.conf \
        && crontab -u www-data /cron.conf

The entrypoint script starts cron with:

cron -f

It gets executed but the owncloud.log shows following message:

"app":"cron","message":"Failed to connect to the database: An exception occured in driver: could not find driver"

Fun thing is, if I enter the docker container and execute the command I use for the cronjob, it works. And php --ini shows all php conf.d extensions including mysql.so and pdo_mysql.so.

I also tried to add the cron.conf file as user root with the same result.

Any ideas, what is happening here?

  • 写回答

2条回答 默认 最新

  • doufu3718 2015-10-21 19:31
    关注

    OK, ALWAYS use absolute paths!!

    path of the php command using the bash in the docker container was different to the one cron used.

    use which php to get the correct path and add it to the cronjob.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?