Ubuntu 18.0对MongoDB进行定时备份

由于前段时间的披星戴月,项目是终于搞上线了,先庆祝一下

这里介绍下项目整体的框架:.NET5+SqlServer+MongoDB

管理后台用的ElementUI+VUE

好了,该切入正题了。

Ubuntu本身自带定时执行任务“Crontab”,利用这个可以每天可以对数据库进行备份。

首先看看备份脚本

代码如下: 

#!/bin/bash
#backup MongoDB

#mongodump命令路径
DUMP=/usr/bin/mongodump
#临时备份目录
OUT_DIR=/data/mongodb/bak/mongodb_now
#备份存放路径
TAR_DIR=/data/mongodb/bak/mongodb_list
#获取当前系统时间
DATE=`date +%Y_%m_%d`
#DAYS=15代表删除15天前的备份,即只保留近15天的备份
DAYS=15
#最终保存的数据库备份文件
TAR_BAK="mongodb_bak_$DATE.tar.gz"

cd $OUT_DIR
/bin/rm -rf $OUT_DIR/*
/bin/mkdir -p $OUT_DIR/$DATE
/bin/mkdir -p $TAR_DIR
#备份全部数据库
$DUMP -h 127.0.0.1:27017 -o $OUT_DIR/$DATE
#压缩为.tar.gz格式
/bin/tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
#删除15天前的备份文件
/usr/bin/find $TAR_DIR/ -mtime +$DAYS -delete

exit

dump参数代表你当前的备份命令的路径,如有不知道在哪里的,可以用如下命令查看

whereis mongodump

 OUT_DIR:表示你要备份的目录,这里你可以自己设置。

这里所有的命令执行都要带上绝对路径,不然执行会报错。因为cron在执行的时候貌似没有获取环境变量,所以......

另外,如上所示,bak目录必须要是你当前执行的用户权限,如不是,在执行的时候将会抛出异常说权限被拒绝。

到此,算的上是大功告成......一半(还有最终的部分没完成呢,就着急剧终字幕了吗?)

保存该文件,确保该文件具有执行权限,如没有,键入chmod +x mongodb_bak.sh

查看文件列表,具有X执行权限了。

然后键入 crontab -e,编辑定时任务,这里重点来了(敲黑板)

 在最后一行键入:10 * * * * /home/app/mongodb_bak.sh,这里代表每天凌晨0点10分开始执行数据库备份。

好了,剧终字幕可以出来了,鸣谢,礼炮!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值