- A+
经由过程centos剧本来执行备份操作,使用crontab敕令实现准时备份与规复功效,并删除指定天数前的备份
详细操作:
1、创立Mongodb数据库备份目次
mkdir -p /home/backup/mongod_bak/mongod_bak_now mkdir -p /home/backup/mongod_bak/mongod_bak_list
2、新建Mongodb数据库备份剧本
vi /home/crontab/mongod_bak.sh #新建文件,输入以下代码
#!/bin/sh DUMP=/usr/local/mongodb/bin/mongodump #mongodump备份文件执行路径 OUT_DIR=/home/backup/mongod_bak/mongod_bak_now #暂时备份目次 TAR_DIR=/home/backup/mongod_bak/mongod_bak_list #备份寄存路径 DATE=`date +%Y_%m_%d` #获取当前体系光阴 DB_USER=username #数据库账号 DB_PASS=123456 #数据库暗码 DAYS=7 #DAYS=7代表删除7天前的备份,即只保存比来7天的备份 TAR_BAK="大众mongod_bak_$DATE.tar.gz"大众 #终极保留的数据库备份文件名 cd $OUT_DIR rm -rf $OUT_DIR/* mkdir -p $OUT_DIR/$DATE $DUMP -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE #备份全体数据库 tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE #紧缩为.tar.gz格局 find $TAR_DIR/ -mtime +$DAYS -delete #删除7天前的备份文件
3、改动文件属性,使其可执行
chmod +x /home/crontab/mongod_bak.sh
4、改动/etc/crontab #添加方案义务
crontab -e
在下面添加
30 1 * * * root /home/crontab/mongod_bak.sh #表现天天清晨1点30执行备份
5、从新启动crond使设置生效
/sbin/service crond reload #从新载入设置装备摆设 chkconfig --level 35 crond on #参加开机主动启动: /sbin/service crond start #启动服务 crontab -l #列出crontab文件
天天在/home/backup/mongod_bak/mongod_bak_list目次下面可以看到mongod_bak_2017_02_28.tar.gz如许的紧缩文件。
至此,Linux下主动备份Mongodb数据库并删除指定天数前的备份完成。
Mongodb准时规复备份
规复全体数据库:
mongorestore –drop –directoryperdb /home/backup/mongod_bak/mongod_bak_now/2017_02_28/
规复单个数据库:
mongorestore –drop -d dataname –directoryperdb /home/backup/mongod_bak/mongod_bak_now/2017_02_28/dataname
–drop参数:规复数据之前删除本来数据库数据,避免数据反复。
–directoryperdb参数:数据库备份目次
-d参数:后面跟要规复的数据库名称
crontab敕令:
crontab敕令常见于Unix和类Unix的操作体系之中,用于设置周期性被执行的指令。该敕令从尺度输入装备读取指令,并将其寄存于“crontab”文件中,以供之后读取和执行。该词起源于希腊语 chronos(χρ?νο?),原意是光阴。
通常,crontab储存的指令被守护过程激活, crond经常在后台运行,每一分钟反省是否有预定的功课必要执行。这类功课一样平常称为cron jobs。
安装crontab:
[root@CentOS ~]# yum install vixie-cron [root@CentOS ~]# yum install crontabs
阐明:
vixie-cron软件包是cron的主法式;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护过程的表格的法式。
cron 是linux的内置服务,但它不主动起来,可以用以下的办法启动、封闭这个服务:
/sbin/service crond start #启动服务 /sbin/service crond stop #封闭服务 /sbin/service crond restart #重启服务 /sbin/service crond reload #从新载入设置装备摆设
查看crontab服务状况:
service crond status
手动启动crontab服务:
service crond start
其他敕令:
#查看crontab服务是否已设置为开机启动,执行敕令: ntsysv #参加开机主动启动: chkconfig --level 35 crond on #列出crontab文件 crontab -l #编纂crontab文件 crontab -e #删除crontab文件 $ crontab -r #规复丧失的crontab文件 #假设你在本身的$HOME目次下还有一个备份,那么可以将其拷贝到/var/spool/cron/<username>,此中<username >是用户名 #或者使用如下敕令此中,<filename>是你在$HOME目次中副本的文件名 crontab <filename>
您可能感兴致的文章:
Mongodb实现准时备份与规复的办法教程MongoDB 导出导入备份规复数据详解及实例MongoDB使用自带的敕令行对象进行备份和规复的教程Windows或Linux体系中备份和规复MongoDB数据的教程Mongodb数据库的备份与规复操作实例MongoDB整库备份与还原以及单个collection备份、规复办法