有没有办法可以在php中创建一个由特定用户运行的cron作业。默认情况下,它作为wwww-data运行,但这不起作用。我可以更改用户并运行它吗?以下是我正在做的事情。请告诉我哪里出错了。
shell_exec('(crontab -u username -l 2>/dev/null; echo "* * * * * /usr/bin/php filename.php") | crontab -');
答案 0 :(得分:0)
现在有/etc/cron.XXX/
个cron.daily
文件夹(例如cron.hourly
,<<if $myVariable>>
等等,您只需将作业作为新文件丢弃,而无需打扰其他配置文件。
答案 1 :(得分:0)
你的命令似乎错了。
echo "* * * * * /usr/bin/php filename.php" | crontab -
是因为crontab
维护个别用户的crontab文件。因此,如果您将其www-data
启动,则会为www-data
用户创建一个条目。
希望它会有所帮助!