我已经在下面编写了用于进行自动备份的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
- 创建一个目录"auto_backup"
- 创建"autobackup.sh"
DIR=
date +%d%m%y
DEST=自动备份/$DIR
mkdir$DEST
mongodump-d-o$DEST
- chmod+X自动备份.sh
- 转到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:%S
cd/opt/mongo/bin./mongo admin--eval"printjson(db.fsyncLock())"./mongodump--端口27020--db db--输出/data/mongo/backup/DIR./mongo admin--eval"printjson(db.fsyncUnlock())"