背景
公司计划将服务器从aws迁移至阿里云,其中我们迁移的一个难点就是MongoDB中几TB数据如何安全的迁移至阿里云环境,因此,我开发出一套MongoDB自动化迁移脚本,只需要简单的操作就可以安全迁移,实现语言是Shell。
一、简述
1、执行同步脚本,把数据按天来同步
nohup sh master.sh 2018-1-01 2018-8-16 &
2、距离上线还有两天,使用按小时来同步数据。
nohup sh computer.sh &
脚本会自动获取系统时间来进行同步操作。
#加入计划任务,让脚本持续运行。
#每隔一小时执行一次脚本,同步一小时大约需要6、7分钟!
crontab -l
01 */1 * * * /bin/bash /root/mongo-script/computer.sh
3、迁移开始时停止数据录入,最多也就需要再录入一个小时的数据,大大节省了时间。
同步完数据,等待20分钟后,与线上MongoDB比对数据条数。如果有误差,请开发人员介入!
二、自动化脚本使用方法
脚本中采用MongoDB自带命令的方式进行数据的备份与恢复。
1、按天备份
sh client.sh 2018-1-27 2018-1-27
查看数据存放目录
还原
sh mongo-restore.sh
2、按小时备份
sh client-hour.sh '2018-1-27 11:00:00' '2018-1-27 14:00:00'
查看数据存放目录
还原
sh mongo-restore-hour.sh
结语
自动化脚本资源我放在我的主页上去了,大家有需要可以前往下载,希望可以对大家有所帮助。