Кажется, у меня проблема. Я хочу посмотреть, где я могу позволить штатным пользователям загружать базу данных 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