在CentOS上设置MongoDB的备份策略可以通过以下步骤进行:
mongodump
进行备份mongodump
是MongoDB提供的用于备份数据的命令行工具。可以使用以下命令进行全量备份:
mongodump -h <hostname> -p <port> -d <database_name> -o <backup_directory>
其中:
<hostname>
:MongoDB服务器地址。<port>
:MongoDB服务器端口,默认为27017。<database_name>
:需要备份的数据库名称。<backup_directory>
:备份数据存放的位置。示例:
mongodump -h 192.168.1.100 -p 27017 -d mydb -o /backups/mongodb
为了简化备份过程,可以创建一个备份脚本,并设置定时任务来定期执行备份。
/data/backup/mongod.sh
#!/bin/sh
DUMP=/usr/local/mongodb/bin/mongodump
# 临时目录,需事先建好
OUT_DIR=/data/backup/mongod/tmp
# 正式目录,需事先建好
TAR_DIR=/data/backup/mongod
DATE=$(date +%Y_%m_%d_%H_%M_%S)
DB_USER=db_user
DB_PASS=db_password
DAYS=14
TAR_BAK="${TAR_DIR}/${DATE}.tar.gz"
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
$DUMP -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
find $TAR_DIR/ -mtime $DAYS -delete
chmod +x /data/backup/mongod.sh
使用 crontab
来配置定时任务,每天凌晨2点执行备份脚本。
/etc/crontab
文件0 2 * * * root /data/backup/mongod.sh
crond
服务service crond restart
在备份脚本中已经包含了删除14天之前备份文件的逻辑。可以通过以下命令手动触发删除操作:
find /data/backup/mongod/ -mtime +14 -type f -delete
mongorestore
进行数据恢复当需要恢复数据时,可以使用 mongorestore
命令:
mongorestore -h <hostname> -p <port> <backup_directory>
示例:
mongorestore -h 192.168.1.100 -p 27017 /backups/mongodb/mydb
通过以上步骤,可以在CentOS上设置一个基本的MongoDB备份策略,确保数据的安全性和可恢复性。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: centos如何配置静态路由