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的安全可靠。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
网页题目:点备份MongoDB设置定时点备份技巧(mongodb设置时间)
文章网址:http://www.mswzjz.cn/qtweb/news10/227110.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能