Django Apache - 以Root身份运行脚本
我的Django项目使用“at”调度器在预定时间调用一个Python文件。这是在我的models.py文件中执行的。
command = 'echo "python /path/to/script.py params" | /usr/bin/at -t [time] &> path/to/at.log'
status = os.system(command)
这里的[time]是预定的时间。 当我在Django开发服务器上运行时,这个功能完美无缺(我通常以root用户身份运行,但其他用户也可以正常工作)。 但是,当我把应用程序部署到Apache上并使用mod_wsgi时,它就不工作了。调度日志显示任务已被安排,但并没有执行。 我尝试了所有方法,从更改文件的所有权到www-data,设置权限,让所有用户都可以执行,甚至设置为root用户(这会有很大的安全隐患)。 我最后想做的就是以root用户身份运行Apache。