如果我在终端中执行以下操作,它就能工作:
screen -dmS tt-rss-daemon sudo -u www-data /usr/bin/php /usr/share/nginx/www/tt-rss/update.php --feeds --daemon如果我在Crontab (crontab -e)中编写以下代码并重新启动机器,就不会发生任何事情。
@reboot screen -dmS tt-rss-daemon sudo -u www-data /usr/bin/php /usr/share/nginx/www/tt-rss/update.php --feeds --daemon有人知道怎么纠正这个问题吗?
发布于 2014-01-11 21:00:10
系统启动时是否设置为运行cron?尝试将其设置为在特定时间运行,并查看它是否运行。如果没有,那么cron就不会运行,您需要添加cron来启动相关的运行级别。
在红帽:
chkconfig cron on在Gentoo:
rc-update add cron default在Debian/Ubuntu
update-rc.d cron defaults如果做不到这一点,大多数发行版都有一个在引导时运行的脚本。在Redhat分布中
/etc/rc.d/rc.local在Gentoo
/etc/local.d/anyfilename.start在Debian中,我认为您必须创建自己的init脚本。
发布于 2014-01-12 00:35:35
检查您的sudoers文件并确保您没有启用requiretty (查找类似于Defaults requiretty的行)。requiretty防止sudo在cron和其他非交互情况下使用。这不是Debian中的默认设置。我相当肯定,如果是这样的话,cron应该向您的用户发送错误消息(除非它被配置为not,或者您将输出发送给/dev/null)。
另一个选项是,如果您的用户没有拥有个人crontab的权限。在这种情况下,cron将完全忽略您的条目。如果存在/etc/cron.allow,则必须在其中列出用户。如果存在/etc/cron.deny,则不能在其中列出您的用户。
https://serverfault.com/questions/566639
复制相似问题