Linux下怎么通过Shell脚本自动备份MongoDB
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本文小编为大家详细介绍"Linux下怎么通过Shell脚本自动备份MongoDB",内容详细,步骤清晰,细节处理妥当,希望这篇"Linux下怎么通过Shell脚本自动备份MongoDB"文章能帮助大家
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
网络社交软件开发
app租用什么服务器
无限宝服务器错误
网上软件开发有哪些条件
谷歌服务器安全吗
湖北超特网络技术有限公司
配置ip代理服务器加速软件
青海智慧社区软件开发
网络安全 软件 军工
网络安全小约定
ftp服务器上的文件会有备份吗
岗位软件测试与软件开发
如何把软件安装在云服务器
gis软件开发找工作
网络安全审查法实施
数据库给每一列数字加1
高校网络安全规划
计算机网络技术性能
如何用cmd服务器管理器
技校软件开发
第三章数据库习题答案
企业信息数据库
it软件开发软件技术
美国的LCI数据库
台服dnf数据库密码修改
360服务器梦幻西游
我的世界任务向服务器
征信系统数据库表设计
svn异地管理服务器
我的世界服务器开管理员