本文共 1104 字,大约阅读时间需要 3 分钟。
#!/bin/bash
#backup MongoDB#mongodump命令路径
DUMP=/usr/local/mongodb/bin/mongodump#临时备份目录OUT_DIR=/data/mongodb_bak/mongodb_bak_now#备份存放路径 TAR_DIR=/data/mongodb_bak/mongodb_baklist#获取当前系统时间DATE=`date +%Y%m_%d<br/>#mongo主机名<br/>HOST=
ifconfig ens192 | grep netmask | awk '{print $2}'`#备份数据库DB=data01#数据库账号 DB_USER=root#数据库密码 DB_PASS=123456#DAYS=15代表删除15天前的备份,即只保留近15天的备份 DAYS=15#最终保存的数据库备份文件 TAR_BAK="mongodbbak$DATE.tar.gz"#判断备份命令文件、备份目录是否存在if [ ! -f "$DUMP" ];thenecho "mongodump the command does not exist, check the correct path." exit 0elif [ ! -d "$OUT_DIR" ];thenecho "Create tmp backup dir"mkdir -p $OUT_DIRelif [ ! -d "$TAR_DIR" ];thenecho "Create Backup dir"mkdir -p $TAR_DIRelsecho "Start Backup"fi cd $OUT_DIR
rm -rf $OUT_DIR/*mkdir -p $OUT_DIR/$DATE#备份单个数据库$DUMP -h $HOST -u $DB_USER -p $DB_PASS -d $DB -o $OUT_DIR/$DATE#备份全部数据库
#$DUMP -h $HOST -u $DB_USER -p $DB_PASS --authenticationDatabase "admin" -o $OUT_DIR/$DATE#压缩为.tar.gz格式
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE#删除15天前的备份文件
find $TAR_DIR/ -mtime +$DAYS -delete转载于:https://blog.51cto.com/ganbing/2048437