Linux下怎么通过Shell脚本自动备份MongoDB
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,本文小编为大家详细介绍"Linux下怎么通过Shell脚本自动备份MongoDB",内容详细,步骤清晰,细节处理妥当,希望这篇"Linux下怎么通过Shell脚本自动备份MongoDB"文章能帮助大家
千家信息网最后更新 2025年11月13日Linux下怎么通过Shell脚本自动备份MongoDB
本文小编为大家详细介绍"Linux下怎么通过Shell脚本自动备份MongoDB",内容详细,步骤清晰,细节处理妥当,希望这篇"Linux下怎么通过Shell脚本自动备份MongoDB"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
在MongoDB中创建备份账号
使用管理员账号登录MongoDB数据库:
[root@renwolecomdbs /]$ mongoMongoDB shell version v3.4.9connecting to: mongodb://127.0.0.1:27017MongoDB server version: 3.4.9> use adminswitched to db admin认证> db.auth("admin","KM5d9KhJcW7O0lIAT")下面开始创建MongoDB备份专有账号:
> db.createUser( { user: "renwolebackup", pwd: "RenwoleComACC", roles: [ { role: "backup", db: "admin" } ] })> exit创建备份脚本存放目录及文件
$ mkdir -p /etc/init.d/mongo$ mkdir -p /apps/data/mongobackup_db$ vim /etc/init.d/mongo/mongo-bak添加以下内容:#!/bin/bash sourcepath=''targetpath='/apps/data/mongobackup_db'nowtime=$(date +%Y%m%d)start(){ ${sourcepath}mongodump --host 127.0.0.1:27017 -u renwolebackup -p renwolebackup --out ${targetpath}/${nowtime}}execute() { start if [ $? -eq 0 ] then echo "back successfully!" else echo "back failure!" fi}if [ ! -d "${targetpath}/${nowtime}/" ]thenmkdir ${targetpath}/${nowtime}fiexecuteecho "============== back end ${nowtime} =============="以上脚本中,请注意路径和文件夹根据你自己的需求修改。
注意:以上参数是我自己的实际使用情况,在使用前一定要认真阅读代码中的设置情况。
如果上面代码执行时报格式错误,请在Windwos下使用Notepad++转换为Unix格式即可,具体操作如下:
编辑-文档格式转换-转换为unix格式。
删除过期7天备份
$ vim /etc/init.d/mongo/mongo-delete添加如下删除内容:#!/bin/bash targetpath='/apps/data/mongobackup_db'nowtime=$(date -d '-7 days' "+%Y%m%d")if [ -d "${targetpath}/${nowtime}/" ]then rm -rf "${targetpath}/${nowtime}/" echo "=======${targetpath}/${nowtime}/===删除成功=="fiecho "===$nowtime ==="设置权限
如果不给执行权限则无法运行脚本:
$ cd /etc/init.d/mongo$ chmod +x mongo-bak$ chmod +x mongo-delete
添加定时任务
为达到每天备份的目的,请设置任务计划:
$ mkdir -p /var/log/mongobaklog$ crontab –e添加以下自动备份和删除备份脚本内容:30 03 * * * /etc/init.d/mongo/mongo-bak 1 > /var/log/mongobaklog/mongo-bak.log &30 01 * * * /etc/init.d/mongo/mongo-delete 1 > /var/log/mongobaklog/mongo-delete &
前面所示分别为每日凌晨3.30和1.30执行该脚本的时间。
其中 mongo-bak 和 mongo-delete 分别是脚本的名称。后面的是备份日志情况,如果有异常可以通过日志查询。
读到这里,这篇"Linux下怎么通过Shell脚本自动备份MongoDB"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
备份
脚本
内容
格式
情况
文章
账号
代码
任务
文件
日志
权限
妥当
成功
参数
可以通过
名称
实际
思路
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
塔式服务器u盘安装
j计算机网络技术基础教案
国家网络安全局的工资待遇
网络安全绘画作品一等奖成人
制作网络安全宣传册
网页上图片怎么从数据库获取
数据库技术发展的阶段过程
高科技互联网rx5系统
灵寿互联网软件开发质量保障
云浮软件开发就业
可以做服务器的路由器
应用软件开发控制程序
微信开发者服务器
碧维视服务器密码
游戏服务器防御策略
网络技术心得总结
深圳华美软件开发
服务器如何创建隐藏账号
oracle数据库日志查看
百途网络技术有限公司官网
过期报刊 数据库
达梦数据库创建用户并授权
青山湖科技城互联网公司
weka自带的数据库
尘香软件开发
软件开发实例经验总结
伊川软件开发
深泽应用软件开发服务私人定做
吕梁政务软件开发
建立数据库金点子简介