MongoDB:在MongoDB中进行自动热备份的Shell脚本



我已经在下面编写了用于进行自动备份的shell脚本。现在如果我想进行热备份,该如何编写脚本。我知道我们需要使用db.fsyncLock()。但是如何在shell脚本中使用它。请告诉我,因为我是shell脚本的新手。

#bin!bash
DIR=`date +%m_%d_%y:%H:%M:%S`
cd /opt/mongo/bin
./mongodump --port 27020 --db db --out /data/mongo/backup/$DIR
  1. 创建一个目录"auto_backup"
  2. 创建"autobackup.sh"

DIR=date +%d%m%y

DEST=自动备份/$DIR

mkdir$DEST

mongodump-d-o$DEST

  1. chmod+X自动备份.sh
  2. 转到cron选项卡在Ubuntu中

sudo crontab-e

在中央

sudo-vim/etc/crontab

m h dm m dw用户名.sh文件的路径

1 0***用户名/home/用户名/auto_backup_script.sh

m: 分钟(0-59)

h: 小时(0-23)

dm:年月日(1-31)

M: 第(1-12)月

dw:星期几(0-6)(星期日=0或7)

username:系统用户名

保存。

并重新启动您的cron服务。

下面的脚本可以帮助我:

DIR=date +%m_%d_%y:%H:%M:%Scd/opt/mongo/bin./mongo admin--eval"printjson(db.fsyncLock())"./mongodump--端口27020--db db--输出/data/mongo/backup/DIR./mongo admin--eval"printjson(db.fsyncUnlock())"

最新更新