备份的重要性
误操作恢复 在不可控因素,尽快恢复线上业务 历史查看等
异地容灾
数据库数据
1.同步: 异地建立一个从库,实时同步线上的数据;服务器配置不需要很好,需要提升为主库时候升级配置即可。 2.备份: 使用异地从库专门用于备份,不对线上业务造成任何影响;产生的备份文件同时实现了异地保存;定期检查备份文件的可用性。 3.恢复:全实例恢复还是按库、按表恢复
代码:代码仓库、私有库
1.gitlab:要求版本必须一致,有两种方法 方法一:使用gitlab自带的备份恢复功能
master节点:
# /usr/bin/gitlab-rake gitlab:backup:create //备份导出数据到文件中
# scp -r /data/gitlab-bak/* root@remote-gitlab:/data/gitlab/ //备份文件同步
backup节点:
# gitlab-ctl stop unicorn
# gitlab-ctl stop sidekiq //停止相关数据连接服务
# gitlab-rake gitlab:backup:restore BACKUP=1521220887 //从指定编号备份恢复
# sudo gitlab-ctl start //启动Gitlab
方法二:文件实时同步,重启gitlab即可
2.npm私有库:直接文件同步 3.编译后生成的目标文件:只能文件同步,或者编译完成后添加多地分发行为
环境:编译环境(前端runner)、运行环境(python依赖)
方法一:系统镜像 方法二:使用docker进行管理,解决环境的问题
配置相关
1.数据库配置 2.nginx配置 3.dns域名解析:定时导出域名下的所有解析记录 4.其他第三方与业务相关的配置(七牛存储服务、短信服务)
其他管理
1.构建管理:jenkins高可用 2.脚本管理:所有脚本上传到gitlab 3.监控管理