mongodump и mongorestore на PythonAnywhere - PullRequest
1 голос
/ 14 февраля 2020

Я использую PythonAnywhere для размещения своего веб-приложения. Использование Mongodb в качестве моей базы данных. Теперь моя задача - периодически создавать резервные копии и восстанавливать указанную c версию mongodb всякий раз, когда я захочу.

Сделать это на локальной (windows машине) машине довольно просто. Установите утилиты Mongodb и выполните команду

mongodump --mongodbConnectionString   //From location where this executable is stored
mongorestore --mongodbConnectionString

Теперь моя задача - сделать это из PythonAnywhere. Вот как мне использовать эти утилиты?


У меня есть Linux исполняемые файлы для mongodb с сайта mongodb , я извлек из него папку bin, как показано ниже

enter image description here

Теперь я переместил эту папку bin в PythonAnywhere и попытался выполнить команду mongodump

~/../applications/mongodb-linux-x86_64-ubuntu1404-3.4.0/bin$ ./mongodump mongodbConnectionString

. Ошибка: 1022 *

bash: ./mongodump: В доступе отказано

Мой вопрос: как сделать mongodump и mongorestore из PythonAnywhere? Моя конечная цель - сделать периодическое c резервное копирование базы данных mongodb

Ответы [ 2 ]

2 голосов
/ 14 февраля 2020

Поскольку документации по резервному копированию и восстановлению mongodb в среде PythonAnywhere меньше, поэтому здесь описаны все шаги по резервному копированию и восстановлению mongodb в PythonAnywhere.


Условие: Вы нужна учетная запись Pythonanywhere и строка подключения Mongodb.


Действия по резервному копированию и восстановлению mongodb в PythonAnywhere:

  1. Загрузка mongodump и mongorestore исполняемых файлов для Linux машины с сайта mongodb https://www.mongodb.org/dl/linux/x86_64-ubuntu1404

    Я скачал mongodb- linux -x86_64-ubuntu1404-4.0.16 , потому что я Я использую MongoDB 4.0

  2. Извлеките его и загрузите необходимые файлы (например, mongodump и mongorestore) в указанное в каталоге PythonAnywhere c расположение.

  3. После загрузки этих файлов обновите его разрешение. Я windows пользователь, поэтому обновил разрешение, используя WinSCP -> right click to file -> properties -> Select Groups/Owner permission.

  4. Откройте Bash консоль из PythonAnywhere, go в каталог, где вы сохранили mongodump и выполните команду ниже

    ~directory of your bin folder$ ./mongodump mongodb_connection_string.


Я получаю bash: ./mongodump: В доступе отказано , поскольку я не предоставляю надлежащие разрешения к этим файлам.

0 голосов
/ 14 февраля 2020

Вам необходимо правильно настроить двоичные файлы MongoDB внутри PythonAnywhere.

Обычно выполнение завершается неудачно из-за неправильных разрешений.

Make sure:
- You have execution permissions (chmod u+x file)
- Binnaries have proper owner    (chown user file)
- Binnaries have proper group    (chgrp group file)

Примечание: Вы должны быть sudoer предоставить такие разрешения

...