第一步,创建一个存放备份的文件夹:
比如 mkdir /alidata/backup
第二步,新建一个自动备份的脚本:
#!/bin/sh
NAME='mxlzb' # 手动修改为待备份项目的数据库名
DATE=`date +%Y%m%d%H%M%S`
DEST='/alidata/backup' # 手动修改为刚刚创建的文件夹
mkdir -p $DEST
cd $DEST
mongodump -d $NAME -o $DEST
tar -zcvf ${NAME}${DATE}.tar.gz ${NAME}
rm -Rf $NAME
我将其保存为 /alidata/scripts/db_backup.sh
第三步,修改定时任务:
sudo crontab -e
进入编辑器后加上下面这句
0 6,18 * * * /alidata/scripts/db_backup.sh >> /alidata/backup/backup.log 2>&1
保存退出,今后服务器会在每天早上六点和晚上六点各备份一次数据库。
更进一步,你可以在电脑上创建一个脚本,每天手动运行一次,增量同步服务器上的备份文件。
touch backup.sh && vi backup.sh
#!/bin/sh
SERVER_USER='root' # 修改为服务器用户名
SERVER_IP='127.0.0.1' # 修改为服务器 IP 地址
SERVER_PATH='/alidata/backup' # 修改为服务器上存放备份的目录
rsync -avz -e ssh ${SERVER_USER}@${SERVER_IP}:${SERVER_PATH} ~/downloads
sh backup.sh
备份/恢复 Meteor 的 MongoDB 数据库