Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法使用views.py文件转储mysql数据库_Python_Mysql_Database_Django_Mysqldump - Fatal编程技术网

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

Python 无法使用views.py文件转储mysql数据库,python,mysql,database,django,mysqldump,Python,Mysql,Database,Django,Mysqldump,我好像有点问题。我想要一个视图,允许员工用户下载该程序的MySQL数据库。不幸的是,它不起作用。我发现这个问题似乎很难 视图.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*pass

我好像有点问题。我想要一个视图,允许员工用户下载该程序的MySQL数据库。不幸的是,它不起作用。我发现这个问题似乎很难

视图.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
运行该脚本就可以了。那么为什么它不能在myviews.py文件或Django中工作呢

test.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")
#/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

Web服务器可能以不同于root的用户身份运行,因此没有创建文件的权限。

当前,当我单击链接时,它会将我重定向到主页,但不会转储数据库。没有任何身份验证错误的报告。但是,如果是这种情况,如何找到运行Web服务器的用户?@Shehzad009,如果要查看错误,则需要阅读
os.popen3
返回的
stderr
。还考虑了<代码>子进程< /代码>模块,因为 OS.POPON3过时了。如果您使用的是linux,您可以运行
psu
,查看您的Web服务器运行的用户身份。