我在本地设置了 CRM。在 CRM 中设置与 Google 日历的同步。在 CRM 中手动运行测试表明同步正在运行。
CRM 实施指南规定如下:对于 Unix/Linux 系统,以 root 用户身份编辑 /etc 中的 crontab 文件,并在末尾添加一行
文档提供了以下示例和解释:
*/5 * * * * <username> cd </srv/www/vhosts/1crm>; </usr/bin/php> scheduler.php
<username>
运行 Web 服务器的用户名是 哪里 (通常默认为“apache”或“wwwrun”), </srv/www/vhosts/1crm>
1CRM 目录的路径是哪里,
</usr/bin/php>
php 可执行文件的路径是哪里。
我知道如何以 root 身份进行编辑或在 Kubuntu 的 Konsole 中输入 crontab e -u root。
我修改以上内容如下:
*/5 * * * * www-data cd /var/www/1crm; /usr/bin/php7.4 scheduler.php
但没有得到任何结果,那么我遗漏了什么?我弄错了用户还是只是 PHP 的问题,或者是它选择了正确的 scheduler.php(可能是 crm 目录中的那个)。那么,我该如何测试 cron 作业呢?现在,我要进入 crm 并检查日历新测试日历项目是否已同步,从 google 日历同步到 crm 日历。
答案1
不要使用;
,使用&&
cd /var/www/1crm && /usr/bin/php7.4 scheduler.php
您可以通过添加日志来测试 cron 作业。
添加>> /var/log/scheduler.log 2>&1
到末尾,所有打印和错误通知都将添加到scheduler.log
。