look321 发表于 2018-10-25 06:37:22

MongoDB 数据库备份脚本

  #!/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#mongo主机名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" ];then
  echo "mongodump the command does not exist, check the correct path."
  exit 0
  elif [ ! -d "$OUT_DIR" ];then
  echo "Create tmp backup dir"
  mkdir -p $OUT_DIR
  elif [ ! -d "$TAR_DIR" ];then
  echo "Create Backup dir"
  mkdir -p $TAR_DIR
  els
  echo "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

页: [1]
查看完整版本: MongoDB 数据库备份脚本