PythonAnywhere 上的 mongodump 和 mongorestore
mongodump and mongorestore on PythonAnywhere
我正在使用 PythonAnywhere 托管我的 Web 应用程序。使用 Mongodb 作为我的数据库。现在我的任务是定期备份并在需要时恢复特定版本的 mongodb。
在本地(windows 机器上),这很容易。安装 Mongodb 实用程序并执行命令
mongodump --mongodbConnectionString //From location where this executable is stored
mongorestore --mongodbConnectionString
现在我的挑战是从 PythonAnywhere 完成它。我应该如何使用这些实用程序?
我有 Linux 个来自 mongodb site 的 mongodb 可执行文件,我从中提取了 bin 文件夹,如下所示
现在我将这个 bin 文件夹移动到 PythonAnywhere 并尝试执行 mongodump
命令
~/../applications/mongodb-linux-x86_64-ubuntu1404-3.4.0/bin$ ./mongodump mongodbConnectionString
失败并出现以下错误
bash: ./mongodump: Permission denied
我的问题是如何从 PythonAnywhere 执行 mongodump 和 mongorestore?我的最终目标是定期备份 mongodb 数据库
您需要在 PythonAnywhere 中正确设置 MongoDB 个二进制文件。
一般是权限错误导致执行失败
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
才能授予此类权限
由于关于 mongodb 在 PythonAnywhere 环境上备份和恢复的文档较少,所以在这里写下在 PythonAnywhere 上备份和恢复 mongodb 的所有步骤。
先决条件:您需要 Pythonanywhere 帐户和 Mongodb 连接字符串。
在 PythonAnywhere 上备份和恢复 mongodb 的步骤:
从 mongodb 站点为 Linux 机器下载 mongodump
和 mongorestore
可执行文件
https://www.mongodb.org/dl/linux/x86_64-ubuntu1404
我下载了mongodb-linux-x86_64-ubuntu1404-4.0.16,因为我用的是MongoDB4.0
解压并上传所需文件(如mongodump
和mongorestore
)到PythonAnywhere的特定目录位置。
上传这些文件后,更新其权限。我是 windows 用户,因此使用 WinSCP -> right click to file -> properties -> Select Groups/Owner permission.
更新了权限
从 PythonAnywhere 打开 Bash 控制台,转到存储 mongodump
的目录并执行以下命令
~directory of your bin folder$ ./mongodump mongodb_connection_string.
我收到 bash: ./mongodump: Permission denied,因为我没有给这些文件适当的权限。
我正在使用 PythonAnywhere 托管我的 Web 应用程序。使用 Mongodb 作为我的数据库。现在我的任务是定期备份并在需要时恢复特定版本的 mongodb。
在本地(windows 机器上),这很容易。安装 Mongodb 实用程序并执行命令
mongodump --mongodbConnectionString //From location where this executable is stored
mongorestore --mongodbConnectionString
现在我的挑战是从 PythonAnywhere 完成它。我应该如何使用这些实用程序?
我有 Linux 个来自 mongodb site 的 mongodb 可执行文件,我从中提取了 bin 文件夹,如下所示
现在我将这个 bin 文件夹移动到 PythonAnywhere 并尝试执行 mongodump
命令
~/../applications/mongodb-linux-x86_64-ubuntu1404-3.4.0/bin$ ./mongodump mongodbConnectionString
失败并出现以下错误
bash: ./mongodump: Permission denied
我的问题是如何从 PythonAnywhere 执行 mongodump 和 mongorestore?我的最终目标是定期备份 mongodb 数据库
您需要在 PythonAnywhere 中正确设置 MongoDB 个二进制文件。
一般是权限错误导致执行失败
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
才能授予此类权限
由于关于 mongodb 在 PythonAnywhere 环境上备份和恢复的文档较少,所以在这里写下在 PythonAnywhere 上备份和恢复 mongodb 的所有步骤。
先决条件:您需要 Pythonanywhere 帐户和 Mongodb 连接字符串。
在 PythonAnywhere 上备份和恢复 mongodb 的步骤:
从 mongodb 站点为 Linux 机器下载
mongodump
和mongorestore
可执行文件 https://www.mongodb.org/dl/linux/x86_64-ubuntu1404我下载了mongodb-linux-x86_64-ubuntu1404-4.0.16,因为我用的是MongoDB4.0
解压并上传所需文件(如
mongodump
和mongorestore
)到PythonAnywhere的特定目录位置。上传这些文件后,更新其权限。我是 windows 用户,因此使用
WinSCP -> right click to file -> properties -> Select Groups/Owner permission.
更新了权限
从 PythonAnywhere 打开 Bash 控制台,转到存储
mongodump
的目录并执行以下命令~directory of your bin folder$ ./mongodump mongodb_connection_string.
我收到 bash: ./mongodump: Permission denied,因为我没有给这些文件适当的权限。