Django Apache - 以root身份运行脚本

时间:2011-08-12 17:15:25

标签: python django apache mod-wsgi

我的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)

[时间]是时间表。 当我在Django Dev服务器中运行它时,它运行得很好(我通常以root身份运行,但它也适用于其他用户) 但是当我使用mod_wsgi在Apache上部署我的应用程序时,它不起作用。在日志中显示作业是计划,但它不执行它。 我尝试了从更改所有权到www数据,权限,使其成为所有用户的可执行文件,setuid到root(巨大的安全问题)的所有内容 我想做的最后一件事是以root用户身份运行apache。

1 个答案:

答案 0 :(得分:2)

使用croncelery执行计划任务。如果你需要以root身份运行某些东西,将脚本重新编写为一个简单的守护进程并以root身份运行它是有意义的,你可以使用zeromq轻松地将命令传递给它。