来自用户 root 运行 的 centos 7 cronjobs 但来自用户 apache 的 cronjobs 没有

centos 7 cronjobs from user root run but cronjobs from user apache dont

当我使用 root 用户创建一个 cronjob 时,它 运行ned al fine。但是当我切换到用户 Apache 并创建一个 cronjob 时,它没有 运行。

这可能是什么原因造成的?我可能在考虑权限问题,但不知道是什么。

问题是 cron 在执行任何操作之前尝试切换到用户的主目录,而主目录不存在。

您必须创建目录。

更好的解决方案是使用 sudo 执行 cron:

15 1 26 * * sudo -u apache /usr/bin/php /var/www/html/nextcloud/occ files:scan --path=1645FC94-D50C-4E40-B941-38CA3B88EC0F/files/ExternalStorage