Back

我们服务器的部署, 备份方法

发布时间: 2015-09-06 22:41:00

原则: 

1. 代码要跟数据和图片彻底分离.   数据要有两个地方的备份.  图片要放到云存储上.

2. 要把代码同时运行在两个机房上, (北京机房是主力, 香港机房是备份) . 两个机房同时宕机的几率几乎是没有的.

方法: 

1. 数据库要频繁备份, 例如, 在北京机房中:

$ crontab -e

0 * * * * /home/ubuntu/backup_db.sh

/home/ubuntu/backup_db.sh 的内容是对数据库做全库备份:

mysqldump -u root -pYourPassWord -h 192.168.1.1 --all-databases > /home/ubuntu/db_backup/all-db-$(date "+%Y_%m_%d_%H_%M_%S").sql 

然后, 在其他机房( 例如香港机房) 对它进行 远程同步, 把 目标服务器上的 SQL文件同步到本地

* * * * * rsync -e "ssh -p 22322" -avz [email protected]:/home/ubuntu/db_backup /home/ubuntu

(这里可以进一步做的是, 把同步过来的北京的最新的数据导入到 香港机房的数据库中)

2. 上传图片使用 云存储, 一般的云存储都会三重备份.  

3. 香港机房也要运行一份代码.  

这样, 北京机房出了问题, 就可以保证快速切换到香港机房(通过修改域名的A记录, 把对应的IP地址从 北京机房改到香港机房即可):  

我们目前用的域名服务是 dnspod.cn ,  可以保证10秒内修改就会生效.

我们用的是图片存储空间是  upyun. 便宜,上手快. 速度也不错.

主机空间是 青云(qingcloud)  比 阿里云好很多. 

Back