无法使用views.py文件转储mysql数据库

时间:2011-08-15 13:07:28

标签: python mysql database django mysqldump

我似乎遇到了问题。我想要一个视图,我可以让员工用户下载该程序的MySQL数据库。不幸的是它不起作用。我发现问题似乎很难。

Views.py

@login_required
def dbbackup(request):
    if not (request.user.is_authenticated() and request.user.is_staff):
        raise http.Http404
    os.popen3("mysqldump -u *username* -p*password* *database* > /usr/local/src/djcode/c2duo_mms/backup.sql")
    os.popen3("gzip -c /usr/local/src/djcode/c2duo_mms/backup.sql > /usr/local/src/djcode/c2duo_mms/backup.gz"
    return HttpResponseRedirect("/mmc")

我试图解决问题。它在转储数据的部分失败了 - 因为c2duo_mms中没有出现sql文件。

现在,如果我要创建一个单独的python脚本,使用python test.py运行它将起作用。那么为什么它不能在我的views.py文件 - 或Django。

中工作

test.py

#!/usr/bin/env python

from django.conf import settings
import os

os.popen3("mysqldump -u *username* -p*password* *database* > /usr/local/src/djcode/c2duo_mms/backup.sql")
os.popen3("gzip -c /usr/local/src/djcode/c2duo_mms/backup.sql > /usr/local/src/djcode/c2duo_mms/backup.gz")

此处还有我的c2duo_mms文件夹的权限。所有文件也具有相同的权限。我不认为它与权限有关。我也确定我使用完整的目录路径。

drwxr-xr-x 5 root root 4096 Aug 15 12:40 c2duo_mms

1 个答案:

答案 0 :(得分:2)

网络服务器可能以root用户身份运行,因此无权创建该文件。