cron.allow 的格式和/或 cron 是否需要重新启动

cron.allow 的格式和/或 cron 是否需要重新启动

我正在尝试为运行 Web 进程的用户专门设置一个 crontab。我有 root/sudo 访问权限,因此我使用 -e 选项为 www-data 用户编写了一个条目,下面是使用 -l 选项的列表:

/etc$ sudo crontab -u www-data -l
# m h  dom mon dow   command
15,30,45 * * * * /var/www/cron/test.cli.php

但是,该进程并未按指定的时间间隔运行。我很确定我的语法是正确的,因此这让我想到了其他几种可能性

1) /etc/cron.allow 格式不正确?我实际上是以 sudo/root 身份创建的,我所做的就是输入一行“www-data”。但是,这是正确的格式吗?我很难找到有关 /etc/cron.allow 应该如何格式化的信息,它的不是据我所知(http://linux.die.net/man/1/crontab

2) /etc 是 Debian 上 cron.allow 的正确位置吗?我在 Google 上搜索了一下,它提到它可能位于 SUSE 下的其他地方,但除非我弄错了,所有迹象都表明 Debian 下的 /etc 是正确的位置。

3) /etc/cron.allow 的权限?我(暂时)将其设置为 777,这可能是宽容?

4)创建/修改cron.allow(或cron.deny)后,是否需要重新启动cron?

PS....自从第一次在 stackoverflow 上发布此问题(我现在将删除它)以来,我尝试重新启动 cron,但无济于事:任务仍然没有运行

答案1

正如 Cornfed 所说,你的 .php 脚本必须以 #!/usr/bin/php 开头才能正常工作。

1) cron.allow/deny 文件仅影响用户运行“crontab”命令的能力,而不影响用户拥有 crontab 的能力。请参阅 man crontab。

2)是的,也在man crontab中列出。

3) 是的,任何用户都可以将自己添加到该列表中。这太宽容了。但在大多数情况下,你不需要这个文件在 Debian 上。来自 man crontab:“对于标准 Debian 系统,所有用户都可以使用此命令。”

4) 没有,但我注意到接受新命令时有延迟。请参阅 /var/log/daemon(我认为)以了解 CRON 对其内部文件的更新。

答案2

您可以尝试“15,30,45 * * * * /usr/bin/php /var/www/cron/test.cli.php”

相关内容