我有一个应用程序在一台服务器上运行,Parse Server
另一台服务器上运行 MongoDB。两个虚拟机都在Azure
(Ubuntu VM) 下。几周前,我编写了一个数据库备份脚本,每天bash
运行一次。crontab
脚本如下:
#!/bin/bash
MONGO_DATABASE="db"
MONGO_HOST="127.0.0.1"
MONGO_PORT="portNo"
TIMESTAMP=`date +%d-%m-%Y--%H:%M:%S`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/datadrive/mongodb/backups/"
BACKUP_NAME="$TIMESTAMP"
# mongo admin --eval "printjson(db.fsyncLock())"
# $MONGODUMP_PATH -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE
sudo $MONGODUMP_PATH -d $MONGO_DATABASE
# mongo admin --eval "printjson(db.fsyncUnlock())"
sudo mv dump $BACKUP_NAME
sudo tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
sudo rm -rf $BACKUP_NAME
sudo find $BACKUPS_DIR/ -type f -mtime +0 -name '*.tgz' -delete
从那时起,我注意到服务器的资源消耗大幅增加,比没有备份系统时成本增加了一倍!
我的数据库大小约为 7GB 并且还在增长!我应该怎么做才能拥有一个 CPU 或其他方面高效的备份系统?