0

我编写了一些 PHP 脚本,尝试在 VestaCP 中使用 cron 作业运行,但它们似乎没有运行。我试图在这里和 VestaCP 论坛上搜索其他可以帮助我识别错误的线程,但没有找到解决方案。

服务器系统:

  • CentOS 7.4
  • 灶神星 0.9.8-22

我已经通过直接访问链接测试了 PHP 脚本。他们都运作良好。但是 cron 作业没有运行,我不知道为什么。

我无法找到这些 cron 作业生成的任何错误消息或日志(即使我删除了 "> /dev/null 2>&1")。但我可能一直在寻找错误的地方。

所有的 cron 作业都是通过 VestaCP cron 界面添加的。

我禁用了 exim、dovecot、clamd 和 spamassassin。我已经关闭了 cron 面板中的通知。不确定这是否相关。

复制自 /var/spool/cron/admin [编辑域名]:

15 02 * * * sudo /usr/local/vesta/bin/v-update-sys-queue disk

10 00 * * * sudo /usr/local/vesta/bin/v-update-sys-queue traffic

30 03 * * * sudo /usr/local/vesta/bin/v-update-sys-queue webstats

*/5 * * * * sudo /usr/local/vesta/bin/v-update-sys-queue backup

10 05 * * * sudo /usr/local/vesta/bin/v-backup-users

20 00 * * * sudo /usr/local/vesta/bin/v-update-user-stats

*/5 * * * * sudo /usr/local/vesta/bin/v-update-sys-rrd

15 6 * * * sudo /usr/local/vesta/bin/v-update-sys-vesta-all

01 4 * * * sudo /usr/local/vesta/bin/v-update-letsencrypt-ssl

*/5 * * * * wget -q -O - "https://testing.example.com/cli/new-projects" > /dev/null 2>&1

*/5 * * * * wget -q -O - "https://example.com/cli/new-projects" > /dev/null 2>&1

30 10 * * * wget -q -O - "https://example.com/cli/project-expiration" > /dev/null 2>&1

*/5 * * * * sudo /usr/local/vesta/bin/v-update-sys-queue letsencrypt

0 10 * * * wget -q -O - "https://testing.example.com/cli/project-expiration" > /dev/null 2>&1

*/2 * * * * wget -q -O - "https://testing.example.com/cli/email-sender" > /dev/null 2>&1

*/2 * * * * wget -q -O - "https://example.com/cli/email-sender" > /dev/null 2>&1
4

1 回答 1

0

我在 Ubuntu 中遇到了同样的问题。

问题是从 VestaCP 控制面板创建的 cron 作业是为用户创建的,尽管命令开头有 sudo,但它们没有运行。

它们似乎被调用了,因为我可以在 /tmp/log/syslog 文件中看到它们。它虽然没有显示任何错误。但是由于某种原因,这些命令没有被执行。

这里有几个简单的命令来检查 cron 状态。

检查 Cron 服务是否正在运行:

pgrep cron

如果返回一个数字,则服务正在运行,否则不检查 Cron 状态:

systemctl status cron

检查当前的 cron 文件:

crontab -l

编辑 cronjob 文件:

crontab -e

一种解决方案是从终端为 root 用户创建 cron 作业。我没有尝试过其他用户。为 root 用户创建的 cron 作业将毫无问题地运行。

于 2019-01-18T07:27:33.933 回答