[root@mongodb ~]# more /opt/script/mongodb-data.sh
#!/bin/bash
#Author:lumia98@vip.qq.com
#备份MongoDB-4.0.2
# MongoDB备份脚本、Linux环境、Centos、Redhat
#mongodump执行
DUMP=mongodump
#备份文件临时存放目录
OUT_DIR=/backup/mongod/tmp
#备份文件正式目录(压缩后)
TAR_DIR=/backup/mongod/data
#备份文件将以备份时间保存
DATE=`date +%Y-%m-%d_%H%M`
#MongoDB服务器地址
HOST='127.0.0.1'
#端口
PORT=17017
#数据库账号
DB_USER='moo'
#数据库密码
DB_PASS='moo'
#数据库名
DATABASE='moo'
#备份的表名
TABLE=''
#存放天数
DAYS=7
#压缩备份的文件格式
TAR_BAK="$DATABASE.$DATE.tar.gz"
#创建目录
[ -d $TAR_DIR ] || mkdir -p TAR_DIR
[ -d $OUT_DIR ] || mkdir -p $OUT_DIR
[ -d $OUT_DIR/$DATE ] || mkdir -p $OUT_DIR/$DATE
#实例
#mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表 -o 文件存放路径
#开始执行全库备份命令
$DUMP -h $HOST --port $PORT -u $DB_USER -p $DB_PASS -d $DATABASE -o $OUT_DIR/$DATE
#开始压缩
tar -zcPf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
#如果压缩成功,删除tmp下面的目录
if [ -s $TAR_DIR/$TAR_BAK ];then
rm -rf $OUT_DIR/$DATE
fi
#删除14天以前的备份文件
#find $TAR_DIR/ -mtime +$DAYS -delete