云服务器网:购买云服务器和VPS必上的网站!

点备份MongoDB设置定时点备份技能

MongoDB数据库是一种非关系型文档型数据库,其可实现高效的存储,更新,检索和分析数据,正由于其多样的特性,MongoDB深受广大开发者的爱好。在生产环境下,为了保证MongoDB数据库的安全,和数据的一致性和完全性,备份是非常必要的。本文将重点介绍Mong

MongoDB数据库是一种非关系型文档型数据库,其可实现高效的存储,更新,检索和分析数据,正由于其多样的特性,MongoDB深受广大开发者的爱好。在生产环境下,为了保证MongoDB数据库的安全,和数据的一致性和完全性,备份是非常必要的。本文将重点介绍MongoDB备份设置和定时点备份技能。

首先,我们来介绍定时点备份技能。首先,mongodump可以对MongoDB数据库进行简单的点备份,使用该命令可以将MongoDB中的集合,索引,唯一索引和各种文件保存到数据库备份文件中。具体做法以下:

1、编写一个将mongodump命令保存到一个shell脚本文件的脚本,比如“mongo_backup.sh”:

# vim mongo_backup.sh

#!/bin/bash

mongodump -h {host_address} -u {username} -p {password} -o /backup/Y$(date +”%Y%m%d”)

2、利用crontab程序定义任务,定义每天固定时间运行mongo_backup.sh,如每天22:30运行,30分钟备份一次:

# crontab -e

30 22 * * * /bin/bash /backup/mongo_backup.sh

另外,MongoDB中管理脚本围绕pyMongo,Node.js,JavaScript和PHP实现,可以利用编程实现定期备份:

# Python

import pymongo

# connect MongoDB

client = pymongo.MongoClient(“127.0.0.1”, 27017)

# Get database

db = client.mydb

# run dump command

backup_command = “mongodump -h 127.0.0.1:27017 -d {original_DB_name} -o –db {backup_DB_name}”

os.system(backup_command)

#run command every day

scheduler.add_job(backup_command, ‘cron’, hour=02, minute=00)

# JavaScript

// connect MongoDB

var db = mongoose.connect(‘mongodb://localhost:27017/mydb’, {

useMongoClient: true,

});

// run dump command

let backup_command = ‘mongodump -h localhost:27017 -d {original_DB_name} -o –db {backup_DB_name}’

exec(backup_command, (err, stdout, stderr) => {

if(err){

console.log(‘error:::’,err);

return;

}

console.log(‘dump success!’)

});

//run command every day

scheduler.add_job(backup_command, ‘cron’, {

hour: 02,

minute: 00

});

总之,我们可以轻松实现MongoDB数据库的备份与还原,利用脚本,我们也能够定也点,实现定时备份。因此,为了保护MongoDB数据库,定时备份设置是非常必要的,从而保证MongoDB的安全可靠。

本文来源:https://www.yuntue.com/post/126198.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器、腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注