![以 root 用户身份编辑 /etc 中的 crontab 文件并添加一行,新手挑战语法](https://linux22.com/image/1206769/%E4%BB%A5%20root%20%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E7%BC%96%E8%BE%91%20%2Fetc%20%E4%B8%AD%E7%9A%84%20crontab%20%E6%96%87%E4%BB%B6%E5%B9%B6%E6%B7%BB%E5%8A%A0%E4%B8%80%E8%A1%8C%EF%BC%8C%E6%96%B0%E6%89%8B%E6%8C%91%E6%88%98%E8%AF%AD%E6%B3%95%20.png)
我在本地设置了 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
。