在CentOS系统上备份MongoDB数据库可以使用mongodump
命令,以下是详细的步骤:
安装MongoDB:确保MongoDB已经安装在CentOS系统上,并且服务正在运行。如果没有安装,可以参考MongoDB官方文档进行安装。
使用mongodump进行备份:
mongodump --host <hostname> --port <port> --username <username> --password <password> --authenticationDatabase <auth-db> --db <database-name> --out <output-directory>
<hostname>
:MongoDB服务器的主机名或IP地址。如果MongoDB服务器在本地主机上运行,可以使用localhost
或127.0.0.1
。<port>
:MongoDB服务器的端口号,默认为27017
。<username>
和<password>
:用于连接到MongoDB服务器的用户名和密码。如果不需要身份验证,可以省略这两个参数。<auth-db>
:用于身份验证的数据库名称。<database-name>
:要备份的数据库名称。可以使用--db
选项指定一个或多个数据库名称,多个数据库名称之间用空格分隔。<output-directory>
:备份文件的输出目录。备份文件将包括数据库的所有集合,每个集合的文件将存储在该目录中。备份整个数据库:
mongodump --db your_database_name --out /path/to/backup/directory
例如:
mongodump --db mydatabase --out /backups/mongodb
备份完成后,将在指定的目录中找到备份文件。
备份指定集合:
mongodump --db your_database_name --collection your_collection_name --out /path/to/backup/directory
例如:
mongodump --db mydatabase --collection setting --out /backups/mongodb
定时备份:
可以使用crontab
设置定时任务,以便每天执行备份脚本。以下是一个示例脚本和定时任务的设置步骤:
/home/crontab/mongod_bak.sh
:#!/bin/bash
Dump=/usr/bin/mongodump
OUT_DIR=/home/backup/mongod_bak/mongod_bak_now
TAR_DIR=/home/backup/mongod_bak/mongod_bak_list
DATE=date +%Y-%m-%d
DB_USER=your_username
DB_PASS=your_password
DB_NAME=your_database_name
$Dump -h 127.0.0.1:27017 -u $DB_USER -p $DB_PASS -d $DB_NAME -o $OUT_DIR/$DATE
cd $OUT_DIR
tar -zcvf $TAR_DIR/$DATE.tar.gz $OUT_DIR/$DATE
find $TAR_DIR/ -mtime +7 -delete
- 设置脚本为可执行:
```bash
chmod +x /home/crontab/mongod_bak.sh
/etc/crontab
,添加计划任务:30 17 * * * /home/crontab/mongod_bak.sh
备份注意事项:
sync; echo 3 > /proc/sys/vm/drop_caches
命令来同步内存并清理缓存。通过上述方法,您可以有效地备份CentOS服务器上的MongoDB数据库,并确保在需要时能够迅速恢复。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:centos如何升级mongodb版本